From 2c3ef7cef81b40af3132f05c3926eb60b31989fd Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Mon, 22 Aug 2022 15:12:27 -0600 Subject: [PATCH 1/6] very silly fix --- .../binary-serialise-cbor.cabal | 5 +-- cbor-tool/cbor-tool.cabal | 7 ++-- cborg-json/cborg-json.cabal | 7 ++-- cborg/cborg.cabal | 7 ++-- cborg/src/Codec/CBOR/Decoding.hs | 29 +++++++++++++-- cborg/src/Codec/CBOR/FlatTerm.hs | 16 +++++++-- cborg/src/Codec/CBOR/Magic.hs | 36 ++++++++++++++----- cborg/src/Codec/CBOR/Read.hs | 17 +++++++-- serialise/serialise.cabal | 7 ++-- 9 files changed, 101 insertions(+), 30 deletions(-) diff --git a/binary-serialise-cbor/binary-serialise-cbor.cabal b/binary-serialise-cbor/binary-serialise-cbor.cabal index 5c9516f..10cb5f4 100644 --- a/binary-serialise-cbor/binary-serialise-cbor.cabal +++ b/binary-serialise-cbor/binary-serialise-cbor.cabal @@ -20,7 +20,8 @@ tested-with: GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, - GHC == 9.2.2 + GHC == 9.2.2, + GHC == 9.4.1 description: This package is a shim around @cborg@, exposing an interface compatible with @@ -49,7 +50,7 @@ library exposed-modules: Data.Binary.Serialise.CBOR.Read build-depends: - base >= 4.8 && < 4.17, + base >= 4.8 && < 4.18, bytestring < 1.0, cborg == 0.2.*, serialise == 0.2.* diff --git a/cbor-tool/cbor-tool.cabal b/cbor-tool/cbor-tool.cabal index 7fcc241..432b201 100644 --- a/cbor-tool/cbor-tool.cabal +++ b/cbor-tool/cbor-tool.cabal @@ -22,16 +22,17 @@ tested-with: GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, - GHC == 9.2.2 + GHC == 9.2.2, + GHC == 9.4.1 executable cbor-tool main-is: Main.hs other-extensions: CPP, BangPatterns ghc-options: -Wall build-depends: - base >=4.7 && <4.17, + base >=4.7 && <4.18, filepath >=1.0 && <1.5, - aeson >=0.7 && <2.1, + aeson >=0.7 && <2.2, aeson-pretty >=0.8 && <0.9, scientific >=0.3 && <0.4, bytestring >=0.10 && <0.12, diff --git a/cborg-json/cborg-json.cabal b/cborg-json/cborg-json.cabal index 8b0a891..6a1a151 100644 --- a/cborg-json/cborg-json.cabal +++ b/cborg-json/cborg-json.cabal @@ -24,14 +24,15 @@ tested-with: GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, - GHC == 9.2.2 + GHC == 9.2.2, + GHC == 9.4.1 library exposed-modules: Codec.CBOR.JSON ghc-options: -Wall build-depends: - base >=4.7 && < 4.17, - aeson >=0.7 && <2.1, + base >=4.7 && < 4.18, + aeson >=0.7 && <2.2, aeson-pretty >=0.8 && <0.9, unordered-containers >=0.2 && <0.3, scientific >=0.3 && <0.4, diff --git a/cborg/cborg.cabal b/cborg/cborg.cabal index 4af86da..4e38fc2 100644 --- a/cborg/cborg.cabal +++ b/cborg/cborg.cabal @@ -20,7 +20,8 @@ tested-with: GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, - GHC == 9.2.2 + GHC == 9.2.2, + GHC == 9.4.1 extra-source-files: ChangeLog.md @@ -90,11 +91,11 @@ library build-depends: array >= 0.4 && < 0.6, - base >= 4.8 && < 4.17, + base >= 4.8 && < 4.18, bytestring >= 0.10.4 && < 0.12, containers >= 0.5 && < 0.7, deepseq >= 1.0 && < 1.5, - ghc-prim >= 0.3.1.0 && < 0.9, + ghc-prim >= 0.3.1.0 && < 0.10, half >= 0.2.2.3 && < 0.4, primitive >= 0.5 && < 0.8, text >= 1.1 && < 1.3 || >= 2.0 && <2.1 diff --git a/cborg/src/Codec/CBOR/Decoding.hs b/cborg/src/Codec/CBOR/Decoding.hs index 2d18e51..a7d774c 100644 --- a/cborg/src/Codec/CBOR/Decoding.hs +++ b/cborg/src/Codec/CBOR/Decoding.hs @@ -328,8 +328,13 @@ toWord8 n = W8# (wordToWord8# n) toWord16 n = W16# (wordToWord16# n) toWord32 n = W32# (wordToWord32# n) #if WORD_SIZE_IN_BITS == 64 +#if MIN_VERSION_base(4,17,0) +toInt64 n = I64# (intToInt64# n) +toWord64 n = W64# (wordToWord64# n) +#else toInt64 n = I64# n toWord64 n = W64# n +#endif #else toInt64 n = I64# (intToInt64# n) toWord64 n = W64# (wordToWord64# n) @@ -748,7 +753,13 @@ decodeTag64 :: Decoder s Word64 {-# INLINE decodeTag64 #-} decodeTag64 = #if defined(ARCH_64bit) - Decoder (\k -> return (ConsumeTag (\w# -> k (W64# w#)))) + Decoder (\k -> return (ConsumeTag (\w# -> k (W64# +#if MIN_VERSION_base(4,17,0) + (wordToWord64# w#) +#else + w# +#endif + )))) #else Decoder (\k -> return (ConsumeTag64 (\w64# -> k (W64# w64#)))) #endif @@ -769,7 +780,13 @@ decodeTag64Canonical :: Decoder s Word64 {-# INLINE decodeTag64Canonical #-} decodeTag64Canonical = #if defined(ARCH_64bit) - Decoder (\k -> return (ConsumeTagCanonical (\w# -> k (W64# w#)))) + Decoder (\k -> return (ConsumeTagCanonical (\w# -> k (W64# +#if MIN_VERSION_base(4,17,0) + (wordToWord64# w#) +#else + w# +#endif + )))) #else Decoder (\k -> return (ConsumeTag64Canonical (\w64# -> k (W64# w64#)))) #endif @@ -968,7 +985,13 @@ type ByteOffset = Int64 -- -- @since 0.2.2.0 peekByteOffset :: Decoder s ByteOffset -peekByteOffset = Decoder (\k -> return (PeekByteOffset (\off# -> k (I64# off#)))) +peekByteOffset = Decoder (\k -> return (PeekByteOffset (\off# -> k (I64# +#if MIN_VERSION_base(4,17,0) + (intToInt64# off#) +#else + off# +#endif + )))) {-# INLINE peekByteOffset #-} -- | This captures the pattern of getting the byte offsets before and after diff --git a/cborg/src/Codec/CBOR/FlatTerm.hs b/cborg/src/Codec/CBOR/FlatTerm.hs index 9d8b20a..a630624 100644 --- a/cborg/src/Codec/CBOR/FlatTerm.hs +++ b/cborg/src/Codec/CBOR/FlatTerm.hs @@ -170,12 +170,24 @@ decodePreEncoded bs0 = -- always starts by requesting initial input. Only decoders that -- fail or return a value without looking at their input can give -- a different initial result. - Read.Partial k <- Read.deserialiseIncremental decodeTermToken + result <- Read.deserialiseIncremental decodeTermToken + let + k = + case result of + Read.Partial a -> a + _ -> error "Failed to get a Partial" k (Just bs) collectOutput next collectOutput :: Read.IDecode s TermToken -> ST.Lazy.ST s FlatTerm - collectOutput (Read.Fail _ _ err) = fail $ "toFlatTerm: encodePreEncoded " + collectOutput (Read.Fail _ _ err) = +#if MIN_VERSION_base(4,17,0) + error +#else + fail +#endif + + $ "toFlatTerm: encodePreEncoded " ++ "used with invalid CBOR: " ++ show err collectOutput (Read.Partial k) = ST.Lazy.strictToLazyST (k Nothing) diff --git a/cborg/src/Codec/CBOR/Magic.hs b/cborg/src/Codec/CBOR/Magic.hs index b1ff177..1b497a2 100644 --- a/cborg/src/Codec/CBOR/Magic.hs +++ b/cborg/src/Codec/CBOR/Magic.hs @@ -167,7 +167,11 @@ grabWord16 (Ptr ip#) = W16# (narrow16Word# (byteSwap16# (indexWord16OffAddr# ip# grabWord32 (Ptr ip#) = W32# (narrow32Word# (byteSwap32# (indexWord32OffAddr# ip# 0#))) #endif #if defined(ARCH_64bit) +#if MIN_VERSION_base(4,17,0) +grabWord64 (Ptr ip#) = W64# (wordToWord64# (byteSwap# (word64ToWord# (indexWord64OffAddr# ip# 0#)))) +#else grabWord64 (Ptr ip#) = W64# (byteSwap# (indexWord64OffAddr# ip# 0#)) +#endif #else grabWord64 (Ptr ip#) = W64# (byteSwap64# (word64ToWord# (indexWord64OffAddr# ip# 0#))) #endif @@ -196,8 +200,8 @@ grabWord16 (Ptr ip#) = where #if MIN_VERSION_ghc_prim(0,8,0) w16 w# = W16# (wordToWord16# (word8ToWord# w#)) -#else - w16 w# = W16# w# +#else + w16 w# = W16# w# #endif grabWord32 (Ptr ip#) = @@ -212,11 +216,11 @@ grabWord32 (Ptr ip#) = w32 w1# `unsafeShiftL` 16 .|. w32 w2# `unsafeShiftL` 8 .|. w32 w3# - where + where #if MIN_VERSION_ghc_prim(0,8,0) w32 w# = W32# (wordToWord32# (word8ToWord# w#)) -#else - w32 w# = W32# w# +#else + w32 w# = W32# w# #endif grabWord64 (Ptr ip#) = @@ -247,14 +251,14 @@ grabWord64 (Ptr ip#) = #if MIN_VERSION_ghc_prim(0,8,0) toWord :: Word8# -> Word# toWord w# = word8ToWord# w# -#else +#else toWord :: Word# -> Word# - toWord w# = w# + toWord w# = w# #endif #if WORD_SIZE_IN_BITS == 64 w64 w# = W64# (toWord w#) -#else +#else w64 w# = W64# (wordToWord64# (toWord w#)) #endif @@ -439,7 +443,11 @@ word8ToWord (W8# w#) = W# (word8ToWord# w#) word16ToWord (W16# w#) = W# (word16ToWord# w#) word32ToWord (W32# w#) = W# (word32ToWord# w#) #if defined(ARCH_64bit) +#if MIN_VERSION_base(4,17,0) +word64ToWord (W64# w#) = W# (word64ToWord# w#) +#else word64ToWord (W64# w#) = W# w# +#endif #else word64ToWord (W64# w64#) = case isTrue# (w64# `leWord64#` wordToWord64# 0xffffffff##) of @@ -492,8 +500,18 @@ word32ToInt (W32# w#) = #if defined(ARCH_64bit) word64ToInt (W64# w#) = +#if MIN_VERSION_base(4,17,0) + case isTrue# (word64ToWord# w# `ltWord#` 0x8000000000000000##) of +#else case isTrue# (w# `ltWord#` 0x8000000000000000##) of - True -> Just (I# (word2Int# w#)) +#endif + True -> +#if MIN_VERSION_base(4,17,0) + Just (I# (word2Int# (word64ToWord# w#))) + +#else + Just (I# (word2Int# w#)) +#endif False -> Nothing #else word64ToInt (W64# w#) = diff --git a/cborg/src/Codec/CBOR/Read.hs b/cborg/src/Codec/CBOR/Read.hs index 0dbb0b6..6546575 100644 --- a/cborg/src/Codec/CBOR/Read.hs +++ b/cborg/src/Codec/CBOR/Read.hs @@ -1270,7 +1270,14 @@ go_slow da bs !offset = do !offset' = offset + intToInt64 (BS.length bs - BS.length bs') SlowPeekByteOffset bs' k -> - lift (k off#) >>= \daz -> go_slow daz bs' offset' + lift +#if MIN_VERSION_base(4,17,0) + (k (int64ToInt# off#)) +#else + (k off#) + +#endif + >>= \daz -> go_slow daz bs' offset' where !offset'@(I64# off#) = offset + intToInt64 (BS.length bs - BS.length bs') @@ -1373,7 +1380,13 @@ go_slow_overlapped da sz bs_cur bs_next !offset = SlowPeekByteOffset bs_empty k -> assert (BS.null bs_empty) $ do - lift (k off#) >>= \daz -> go_slow daz bs' offset' + lift +#if MIN_VERSION_base(4,17,0) + (k (int64ToInt# off#)) +#else + (k off#) +#endif + >>= \daz -> go_slow daz bs' offset' where !(I64# off#) = offset' diff --git a/serialise/serialise.cabal b/serialise/serialise.cabal index 57e8b9f..ed685b5 100644 --- a/serialise/serialise.cabal +++ b/serialise/serialise.cabal @@ -37,7 +37,8 @@ tested-with: GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, - GHC == 9.2.2 + GHC == 9.2.2, + GHC == 9.4.1 extra-source-files: ChangeLog.md @@ -71,11 +72,11 @@ library build-depends: array >= 0.4 && < 0.6, - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, bytestring >= 0.10.4 && < 0.12, cborg == 0.2.*, containers >= 0.5 && < 0.7, - ghc-prim >= 0.3.1.0 && < 0.9, + ghc-prim >= 0.3.1.0 && < 0.10, half >= 0.2.2.3 && < 0.4, hashable >= 1.2 && < 2.0, primitive >= 0.5 && < 0.8, From ae8e3e95d285f116426c45ec047240333922a662 Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Mon, 22 Aug 2022 15:13:47 -0600 Subject: [PATCH 2/6] tests --- cborg-json/cborg-json.cabal | 2 +- cborg/cborg.cabal | 2 +- serialise/serialise.cabal | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cborg-json/cborg-json.cabal b/cborg-json/cborg-json.cabal index 6a1a151..3bf4fbc 100644 --- a/cborg-json/cborg-json.cabal +++ b/cborg-json/cborg-json.cabal @@ -59,7 +59,7 @@ benchmark bench other-modules: build-depends: - base >= 4.6 && < 4.17, + base >= 4.6 && < 4.18, cborg , cborg-json , aeson , diff --git a/cborg/cborg.cabal b/cborg/cborg.cabal index 4e38fc2..ad8ea6a 100644 --- a/cborg/cborg.cabal +++ b/cborg/cborg.cabal @@ -149,7 +149,7 @@ test-suite tests build-depends: array >= 0.4 && < 0.6, - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, base-orphans, bytestring >= 0.10.4 && < 0.12, text >= 1.1 && < 2.1, diff --git a/serialise/serialise.cabal b/serialise/serialise.cabal index ed685b5..504700c 100644 --- a/serialise/serialise.cabal +++ b/serialise/serialise.cabal @@ -126,7 +126,7 @@ test-suite tests Tests.GeneralisedUTF8 build-depends: - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, bytestring >= 0.10.4 && < 0.12, directory >= 1.0 && < 1.4, filepath >= 1.0 && < 1.5, @@ -163,7 +163,7 @@ benchmark instances Instances.Time build-depends: - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, binary >= 0.7 && < 0.11, bytestring >= 0.10.4 && < 0.12, vector >= 0.10 && < 0.13, @@ -207,7 +207,7 @@ benchmark micro SimpleVersus build-depends: - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, binary >= 0.7 && < 0.11, bytestring >= 0.10.4 && < 0.12, ghc-prim >= 0.3.1.0 && < 0.9, @@ -254,7 +254,7 @@ benchmark versus build-depends: array >= 0.4 && < 0.6, - base >= 4.7 && < 4.17, + base >= 4.7 && < 4.18, binary >= 0.7 && < 0.11, bytestring >= 0.10.4 && < 0.12, directory >= 1.0 && < 1.4, From 61c4dcc31a62469753426133483435acfe708483 Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Mon, 22 Aug 2022 15:16:25 -0600 Subject: [PATCH 3/6] tests pass --- cborg/cborg.cabal | 2 +- serialise/serialise.cabal | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cborg/cborg.cabal b/cborg/cborg.cabal index ad8ea6a..88a7aad 100644 --- a/cborg/cborg.cabal +++ b/cborg/cborg.cabal @@ -154,7 +154,7 @@ test-suite tests bytestring >= 0.10.4 && < 0.12, text >= 1.1 && < 2.1, cborg, - aeson >= 0.7 && < 2.1, + aeson >= 0.7 && < 2.2, base64-bytestring >= 1.0 && < 1.3, base16-bytestring >= 1.0 && < 1.1, deepseq >= 1.0 && < 1.5, diff --git a/serialise/serialise.cabal b/serialise/serialise.cabal index 504700c..b90052f 100644 --- a/serialise/serialise.cabal +++ b/serialise/serialise.cabal @@ -215,7 +215,7 @@ benchmark micro cborg, serialise, - aeson >= 0.7 && < 2.1, + aeson >= 0.7 && < 2.2, deepseq >= 1.0 && < 1.5, criterion >= 1.0 && < 1.6, cereal >= 0.5.2.0 && < 0.6, @@ -268,7 +268,7 @@ benchmark versus filepath >= 1.0 && < 1.5, containers >= 0.5 && < 0.7, deepseq >= 1.0 && < 1.5, - aeson >= 0.7 && < 2.1, + aeson >= 0.7 && < 2.2, cereal >= 0.5.2.0 && < 0.6, half >= 0.2.2.3 && < 0.4, tar >= 0.4 && < 0.6, From 05ca2063ff631667699bffbeee3a4a076943b905 Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Mon, 22 Aug 2022 15:24:14 -0600 Subject: [PATCH 4/6] regenerate CI for 9.4 --- .github/workflows/haskell-ci.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 0c2a10d..070b0f4 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -1,6 +1,6 @@ # This GitHub workflow config has been generated by a script via # -# haskell-ci 'github' '--config=cabal.haskell-ci' 'cabal.project' +# haskell-ci 'github' 'cabal.project' # # To regenerate the script (for example after adjusting tested-with) run # @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.14.3 +# version: 0.15.20220822 # -# REGENDATA ("0.14.3",["github","--config=cabal.haskell-ci","cabal.project"]) +# REGENDATA ("0.15.20220822",["github","cabal.project"]) # name: Haskell-CI on: @@ -19,7 +19,7 @@ on: jobs: linux: name: Haskell-CI - Linux - ${{ matrix.compiler }} - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 timeout-minutes: 60 container: @@ -28,6 +28,11 @@ jobs: strategy: matrix: include: + - compiler: ghc-9.4.1 + compilerKind: ghc + compilerVersion: 9.4.1 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.2.2 compilerKind: ghc compilerVersion: 9.2.2 @@ -76,18 +81,18 @@ jobs: apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 if [ "${{ matrix.setup-method }}" = ghcup ]; then mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" - "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 + "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) + "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) else apt-add-repository -y 'ppa:hvr/ghc' apt-get update apt-get install -y "$HCNAME" mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 + "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) fi env: HCKIND: ${{ matrix.compilerKind }} @@ -262,7 +267,7 @@ jobs: ${CABAL} -vnormal check - name: haddock run: | - $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all + $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all - name: unconstrained build run: | rm -f cabal.project.local From e8e802f9431d2534e613253df00d851405b61e9b Mon Sep 17 00:00:00 2001 From: Finley McIlwaine Date: Fri, 23 Sep 2022 21:40:31 -0600 Subject: [PATCH 5/6] test with 9.4.2 instead of 9.4.1 --- .github/workflows/haskell-ci.yml | 8 ++++---- binary-serialise-cbor/binary-serialise-cbor.cabal | 2 +- cbor-tool/cbor-tool.cabal | 2 +- cborg-json/cborg-json.cabal | 2 +- cborg/cborg.cabal | 2 +- serialise/serialise.cabal | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 070b0f4..519feb5 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.15.20220822 +# version: 0.15.20220920 # -# REGENDATA ("0.15.20220822",["github","cabal.project"]) +# REGENDATA ("0.15.20220920",["github","cabal.project"]) # name: Haskell-CI on: @@ -28,9 +28,9 @@ jobs: strategy: matrix: include: - - compiler: ghc-9.4.1 + - compiler: ghc-9.4.2 compilerKind: ghc - compilerVersion: 9.4.1 + compilerVersion: 9.4.2 setup-method: ghcup allow-failure: false - compiler: ghc-9.2.2 diff --git a/binary-serialise-cbor/binary-serialise-cbor.cabal b/binary-serialise-cbor/binary-serialise-cbor.cabal index 10cb5f4..49a1c09 100644 --- a/binary-serialise-cbor/binary-serialise-cbor.cabal +++ b/binary-serialise-cbor/binary-serialise-cbor.cabal @@ -21,7 +21,7 @@ tested-with: GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 9.4.2 description: This package is a shim around @cborg@, exposing an interface compatible with diff --git a/cbor-tool/cbor-tool.cabal b/cbor-tool/cbor-tool.cabal index 432b201..f6aefe5 100644 --- a/cbor-tool/cbor-tool.cabal +++ b/cbor-tool/cbor-tool.cabal @@ -23,7 +23,7 @@ tested-with: GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 9.4.2 executable cbor-tool main-is: Main.hs diff --git a/cborg-json/cborg-json.cabal b/cborg-json/cborg-json.cabal index 3bf4fbc..adb25b4 100644 --- a/cborg-json/cborg-json.cabal +++ b/cborg-json/cborg-json.cabal @@ -25,7 +25,7 @@ tested-with: GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 9.4.2 library exposed-modules: Codec.CBOR.JSON diff --git a/cborg/cborg.cabal b/cborg/cborg.cabal index 88a7aad..887f2d4 100644 --- a/cborg/cborg.cabal +++ b/cborg/cborg.cabal @@ -21,7 +21,7 @@ tested-with: GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 9.4.2 extra-source-files: ChangeLog.md diff --git a/serialise/serialise.cabal b/serialise/serialise.cabal index b90052f..f482bb7 100644 --- a/serialise/serialise.cabal +++ b/serialise/serialise.cabal @@ -38,7 +38,7 @@ tested-with: GHC == 8.10.1, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 9.4.2 extra-source-files: ChangeLog.md From 8da1a096a668e73dbdef0e818aaec636e539b181 Mon Sep 17 00:00:00 2001 From: Finley McIlwaine Date: Fri, 23 Sep 2022 21:46:50 -0600 Subject: [PATCH 6/6] tested-with changes, make benchmarks compile * Remove 8.0.2 and 8.2.2 from tested with * Replace 8.10.1 with 8.10.7 in tested with * Add allow-newer constraint on text for store-core to make benchmarks compile --- .github/workflows/haskell-ci.yml | 37 +++++++------------ .../binary-serialise-cbor.cabal | 4 +- cabal.project | 4 ++ cbor-tool/cbor-tool.cabal | 4 +- cborg-json/cborg-json.cabal | 4 +- cborg/cborg.cabal | 4 +- serialise/serialise.cabal | 8 ++-- 7 files changed, 25 insertions(+), 40 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 519feb5..73d25ac 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -43,10 +43,10 @@ jobs: compilerVersion: 9.0.1 setup-method: hvr-ppa allow-failure: false - - compiler: ghc-8.10.1 + - compiler: ghc-8.10.7 compilerKind: ghc - compilerVersion: 8.10.1 - setup-method: hvr-ppa + compilerVersion: 8.10.7 + setup-method: ghcup allow-failure: false - compiler: ghc-8.8.3 compilerKind: ghc @@ -63,16 +63,6 @@ jobs: compilerVersion: 8.4.4 setup-method: hvr-ppa allow-failure: false - - compiler: ghc-8.2.2 - compilerKind: ghc - compilerVersion: 8.2.2 - setup-method: hvr-ppa - allow-failure: false - - compiler: ghc-8.0.2 - compilerKind: ghc - compilerVersion: 8.0.2 - setup-method: hvr-ppa - allow-failure: false fail-fast: false steps: - name: apt @@ -215,17 +205,18 @@ jobs: echo "packages: ${PKGDIR_serialise}" >> cabal.project echo "packages: ${PKGDIR_binary_serialise_cbor}" >> cabal.project echo "packages: ${PKGDIR_cborg_json}" >> cabal.project - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package cborg" >> 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 cbor-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 serialise" >> 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 binary-serialise-cbor" >> 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 cborg-json" >> cabal.project ; fi - if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi + echo "package cborg" >> cabal.project + echo " ghc-options: -Werror=missing-methods" >> cabal.project + echo "package cbor-tool" >> cabal.project + echo " ghc-options: -Werror=missing-methods" >> cabal.project + echo "package serialise" >> cabal.project + echo " ghc-options: -Werror=missing-methods" >> cabal.project + echo "package binary-serialise-cbor" >> cabal.project + echo " ghc-options: -Werror=missing-methods" >> cabal.project + echo "package cborg-json" >> cabal.project + echo " ghc-options: -Werror=missing-methods" >> cabal.project cat >> cabal.project <> cabal.project.local cat cabal.project diff --git a/binary-serialise-cbor/binary-serialise-cbor.cabal b/binary-serialise-cbor/binary-serialise-cbor.cabal index 49a1c09..8a17658 100644 --- a/binary-serialise-cbor/binary-serialise-cbor.cabal +++ b/binary-serialise-cbor/binary-serialise-cbor.cabal @@ -13,12 +13,10 @@ category: Codec build-type: Simple cabal-version: 1.22 tested-with: - GHC == 8.0.2, - GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, - GHC == 8.10.1, + GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, GHC == 9.4.2 diff --git a/cabal.project b/cabal.project index 14d2fac..fe66065 100644 --- a/cabal.project +++ b/cabal.project @@ -4,3 +4,7 @@ packages: serialise/ binary-serialise-cbor/ cborg-json/ + +-- Needed for serialise benchmarks +allow-newer: + store-core:text diff --git a/cbor-tool/cbor-tool.cabal b/cbor-tool/cbor-tool.cabal index f6aefe5..15439ad 100644 --- a/cbor-tool/cbor-tool.cabal +++ b/cbor-tool/cbor-tool.cabal @@ -15,12 +15,10 @@ build-type: Simple extra-source-files: ChangeLog.md cabal-version: >=1.10 tested-with: - GHC == 8.0.2, - GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, - GHC == 8.10.1, + GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, GHC == 9.4.2 diff --git a/cborg-json/cborg-json.cabal b/cborg-json/cborg-json.cabal index adb25b4..b6ee5db 100644 --- a/cborg-json/cborg-json.cabal +++ b/cborg-json/cborg-json.cabal @@ -17,12 +17,10 @@ build-type: Simple extra-source-files: ChangeLog.md cabal-version: >=1.10 tested-with: - GHC == 8.0.2, - GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, - GHC == 8.10.1, + GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, GHC == 9.4.2 diff --git a/cborg/cborg.cabal b/cborg/cborg.cabal index 887f2d4..8a869b5 100644 --- a/cborg/cborg.cabal +++ b/cborg/cborg.cabal @@ -13,12 +13,10 @@ category: Codec build-type: Simple cabal-version: >= 1.10 tested-with: - GHC == 8.0.2, - GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, - GHC == 8.10.1, + GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, GHC == 9.4.2 diff --git a/serialise/serialise.cabal b/serialise/serialise.cabal index f482bb7..aef895c 100644 --- a/serialise/serialise.cabal +++ b/serialise/serialise.cabal @@ -30,12 +30,10 @@ cabal-version: >=1.10 category: Codec build-type: Simple tested-with: - GHC == 8.0.2, - GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, - GHC == 8.10.1, + GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, GHC == 9.4.2 @@ -210,7 +208,7 @@ benchmark micro base >= 4.7 && < 4.18, binary >= 0.7 && < 0.11, bytestring >= 0.10.4 && < 0.12, - ghc-prim >= 0.3.1.0 && < 0.9, + ghc-prim >= 0.3.1.0 && < 0.10, vector >= 0.10 && < 0.13, cborg, serialise, @@ -258,7 +256,7 @@ benchmark versus binary >= 0.7 && < 0.11, bytestring >= 0.10.4 && < 0.12, directory >= 1.0 && < 1.4, - ghc-prim >= 0.3.1.0 && < 0.9, + ghc-prim >= 0.3.1.0 && < 0.10, fail >= 4.9.0.0 && < 4.10, text >= 1.1 && < 2.1, vector >= 0.10 && < 0.13,