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 GHC #617

Merged
merged 3 commits into from
Aug 23, 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
1 change: 0 additions & 1 deletion bittide-shake/exe/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import Prelude
import Clash.Shake.Extra
import Clash.Shake.Flags
import Clash.Shake.Vivado
import Control.Applicative (liftA2)
import Control.Monad (forM_, unless, when)
import Control.Monad.Extra (ifM, unlessM)
import Data.Foldable (for_)
Expand Down
3 changes: 1 addition & 2 deletions bittide-tools/clockcontrol/plot/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import Clash.Signal.Internal (Femtoseconds (..), unFemtoseconds)
import Clash.Sized.Vector qualified as Vec

import Data.Type.Equality ((:~:) (..))
import GHC.TypeLits
import GHC.TypeLits hiding (SNat)
import GHC.TypeLits.Compare ((:<=?) (..))
import GHC.TypeLits.Witnesses ((%<=?))
import GHC.TypeLits.Witnesses qualified as TLW (SNat (..))
Expand All @@ -58,7 +58,6 @@ import Conduit (
yield,
(.|),
)
import Control.Applicative (liftA2)
import Control.Arrow (first)
import Control.Exception (Exception (..), catch, throw)
import Control.Monad (filterM, forM, forM_, unless, when)
Expand Down
2 changes: 1 addition & 1 deletion bittide/tests/Tests/Transceiver/WordAlign.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

module Tests.Transceiver.WordAlign where

import Clash.Prelude hiding (someNatVal, words)
import Clash.Prelude hiding (someNatVal, withSomeSNat, words)

import Bittide.SharedTypes (Byte)
import Clash.Hedgehog.Sized.BitVector (genDefinedBitVector)
Expand Down
5 changes: 4 additions & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ write-ghc-environment-files: always
-- state by running `cabal update` twice and looking at the index state it
-- displays to you (as the second update will be a no-op)
index-state: 2024-08-07T03:18:13Z
with-compiler: ghc-9.4.7
with-compiler: ghc-9.6.5
tests: True

package bittide
Expand All @@ -24,6 +24,9 @@ package bittide
-- so we're able to import its css file from the custom theme.
haddock-options: --theme=linuwial-wrap-types.css --theme=Linuwial

package zlib
flags: +pkg-config

package clash-prelude
flags: -multiple-hidden
ghc-options:
Expand Down
48 changes: 23 additions & 25 deletions cabal.project.freeze
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
active-repositories: hackage.haskell.org:merge
constraints: any.Cabal ==3.8.1.0,
any.Cabal-syntax ==3.8.1.0,
constraints: any.Cabal ==3.10.3.0,
any.Cabal-syntax ==3.10.3.0,
any.Glob ==0.10.2,
any.HUnit ==1.6.2.0,
any.MissingH ==1.6.0.1,
Expand All @@ -20,7 +20,7 @@ constraints: any.Cabal ==3.8.1.0,
ansi-terminal -example,
any.ansi-terminal-types ==0.11.5,
any.appar ==0.1.8,
any.array ==0.5.4.0,
any.array ==0.5.6.0,
any.arrows ==0.4.4.2,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
Expand All @@ -33,7 +33,7 @@ constraints: any.Cabal ==3.8.1.0,
attoparsec -developer,
any.attoparsec-aeson ==2.2.0.1,
any.barbies ==2.0.5.0,
any.base ==4.17.2.0,
any.base ==4.18.2.1,
any.base-compat ==0.13.1,
any.base-orphans ==0.9.1,
any.base16-bytestring ==1.0.2.0,
Expand All @@ -50,7 +50,7 @@ constraints: any.Cabal ==3.8.1.0,
any.boring ==0.2.1,
boring +tagged,
any.byteorder ==1.0.4,
any.bytestring ==0.11.5.2,
any.bytestring ==0.11.5.3,
any.cabal-doctest ==1.0.9,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
Expand Down Expand Up @@ -109,33 +109,31 @@ constraints: any.Cabal ==3.8.1.0,
any.data-default-instances-dlist ==0.0.1,
any.data-default-instances-old-locale ==0.0.1,
any.data-fix ==0.3.2,
any.deepseq ==1.4.8.0,
any.deepseq ==1.4.8.1,
any.dependent-sum ==0.7.2.0,
any.directory ==1.3.7.1,
any.directory ==1.3.8.4,
any.distributive ==0.6.2.1,
distributive +semigroups +tagged,
any.dlist ==1.0,
dlist -werror,
any.doctest-parallel ==0.3.1,
any.elf ==0.31,
any.erf ==2.0.0.0,
any.exceptions ==0.10.5,
any.exceptions ==0.10.7,
any.extra ==1.7.14,
any.filepath ==1.4.2.2,
any.filepath ==1.4.300.1,
any.filepattern ==0.1.3,
any.fingertree ==0.1.5.0,
any.first-class-families ==0.8.0.1,
any.foldable1-classes-compat ==0.1,
foldable1-classes-compat +tagged,
any.free ==5.2,
any.generically ==0.1.1,
any.ghc ==9.4.7,
any.ghc ==9.6.5,
any.ghc-bignum ==1.3,
any.ghc-boot ==9.4.7,
any.ghc-boot-th ==9.4.7,
any.ghc-heap ==9.4.7,
any.ghc-boot ==9.6.5,
any.ghc-boot-th ==9.6.5,
any.ghc-heap ==9.6.5,
any.ghc-paths ==0.1.0.12,
any.ghc-prim ==0.9.1,
any.ghc-prim ==0.10.0,
any.ghc-tcplugins-extra ==0.4.5,
ghc-tcplugins-extra -deverror,
any.ghc-typelits-extra ==0.4.7,
Expand All @@ -144,21 +142,21 @@ constraints: any.Cabal ==3.8.1.0,
ghc-typelits-knownnat -deverror,
any.ghc-typelits-natnormalise ==0.7.9,
ghc-typelits-natnormalise -deverror,
any.ghci ==9.4.7,
any.ghci ==9.6.5,
any.half ==0.3.1,
any.happy ==1.20.1.1,
any.happy-dot ==1.0.0.0,
any.hashable ==1.4.3.0,
hashable +integer-gmp -random-initial-seed,
any.haskeline ==0.8.2,
any.haskeline ==0.8.2.1,
any.haskell-lexer ==1.1.1,
any.haskell-src-exts ==1.23.1,
any.haskell-src-meta ==0.8.13,
any.heaps ==0.4,
any.hedgehog ==1.4,
any.hint ==0.9.0.8,
any.hourglass ==0.2.12,
any.hpc ==0.6.1.0,
any.hpc ==0.6.2.0,
any.hsc2hs ==0.68.10,
hsc2hs -in-ghc-tree,
any.hslogger ==1.3.1.0,
Expand Down Expand Up @@ -197,7 +195,7 @@ constraints: any.Cabal ==3.8.1.0,
any.mmorph ==1.2.0,
any.monad-control ==1.0.3.1,
any.mono-traversable ==1.0.15.3,
any.mtl ==2.2.2,
any.mtl ==2.3.1,
any.network ==3.1.4.0,
network -devel,
any.network-bsd ==2.8.1.0,
Expand All @@ -221,7 +219,7 @@ constraints: any.Cabal ==3.8.1.0,
any.prettyprinter-ansi-terminal ==1.1.3,
any.prettyprinter-interp ==0.2.0.0,
any.primitive ==0.8.0.0,
any.process ==1.6.17.0,
any.process ==1.6.19.0,
any.profunctors ==5.6.2,
any.random ==1.2.1.1,
any.recursion-schemes ==5.2.2.5,
Expand Down Expand Up @@ -272,10 +270,10 @@ constraints: any.Cabal ==3.8.1.0,
any.tasty-hedgehog ==1.4.0.2,
any.tasty-hunit ==0.10.1,
any.tasty-th ==0.1.7,
any.template-haskell ==2.19.0.0,
any.template-haskell ==2.20.0.0,
any.temporary ==1.3,
any.terminal-size ==0.3.4,
any.terminfo ==0.4.1.5,
any.terminfo ==0.4.1.6,
any.text ==2.0.2,
any.text-conversions ==0.3.1.1,
any.text-iso8601 ==0.1,
Expand All @@ -293,7 +291,7 @@ constraints: any.Cabal ==3.8.1.0,
time-compat -old-locale,
any.tls ==1.9.0,
tls +compat -hans +network,
any.transformers ==0.5.6.2,
any.transformers ==0.6.1.0,
any.transformers-base ==0.4.6,
transformers-base +orphaninstances,
any.transformers-compat ==0.7.2,
Expand All @@ -305,7 +303,7 @@ constraints: any.Cabal ==3.8.1.0,
any.typelits-witnesses ==0.4.0.1,
any.unbounded-delays ==0.1.1.1,
any.uniplate ==1.6.13,
any.unix ==2.7.3,
any.unix ==2.8.4.0,
any.unix-time ==0.4.11,
any.unliftio-core ==0.2.1.0,
any.unordered-containers ==0.2.19.1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,12 @@ elif [[ "$1" != "" ]]; then
fi

UBUNTU_VERSION=jammy-20240125
GHC_VERSIONS=( "9.4.8" "9.2.8" "9.0.2")
CABAL_VERSIONS=("3.10.2.0" "3.10.2.0" "3.10.2.0")
GHC_VERSIONS=( "9.6.6" "9.4.8" "9.2.8" "9.0.2")
CABAL_VERSION="3.10.2.0"

for i in "${!GHC_VERSIONS[@]}"
do
GHC_VERSION="${GHC_VERSIONS[i]}"
CABAL_VERSION="${CABAL_VERSIONS[i]}"

docker buildx build \
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \
Expand Down
3 changes: 2 additions & 1 deletion clash-vexriscv/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,10 @@ jobs:
- "9.0.2"
- "9.2.8"
- "9.4.8"
- "9.6.6"

container:
image: ghcr.io/clash-lang/clash-vexriscv-ci:${{ matrix.ghc }}-20240329
image: ghcr.io/clash-lang/clash-vexriscv-ci:${{ matrix.ghc }}-20240823

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion clash-vexriscv/clash-vexriscv/clash-vexriscv.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ common common-options
-fno-worker-wrapper
-- clash-prelude will set suitable version bounds for the plugins
build-depends:
base >= 4.14 && < 4.18,
base >= 4.14 && < 4.19,
clash-prelude >= 1.6 && < 1.10,
containers >= 0.6 && < 0.8,
ghc-typelits-natnormalise,
Expand Down
10 changes: 8 additions & 2 deletions clash-vexriscv/clash-vexriscv/src/VexRiscv/VecToTuple.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import Clash.Prelude

import Data.Tagged (Tagged(..))

#if MIN_VERSION_base(4,16,0)
#if MIN_VERSION_base(4,18,0)
import Data.Tuple (Solo(MkSolo))
#elif MIN_VERSION_base(4,16,0)
import Data.Tuple (Solo(Solo))
#endif

Expand All @@ -28,7 +30,11 @@ instance VecToTuple (Vec 0 a) where
type TupType (Vec 0 a) = Tagged a ()
vecToTuple Nil = Tagged ()

#if MIN_VERSION_base(4,16,0)
#if MIN_VERSION_base(4,18,0)
instance VecToTuple (Vec 1 a) where
type TupType (Vec 1 a) = Solo a
vecToTuple (a0 :> Nil) = MkSolo a0
#elif MIN_VERSION_base(4,16,0)
instance VecToTuple (Vec 1 a) where
type TupType (Vec 1 a) = Solo a
vecToTuple (a0 :> Nil) = Solo a0
Expand Down
4 changes: 1 addition & 3 deletions shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@ pkgs.mkShell {
pkgs.dtc
pkgs.gcc

# Clash throws an error on 9.4.8 to 9.6.2
# See https://github.com/clash-lang/clash-compiler/pull/2711/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R80
pkgs.haskell.compiler.ghc947
pkgs.ghc
pkgs.pkg-config
pkgs.python311Full
pkgs.python311Packages.matplotlib
Expand Down