diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0d986e2..e12ea4b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -28,7 +28,7 @@ jobs: - stack-ghc-9.2.8.yaml - stack-ghc-9.4.7.yaml - stack-ghc-9.6.6.yaml - - stack-ghc-9.8.2.yaml + - stack-ghc-9.8.3.yaml - stack-ghc-9.10.1.yaml exclude: - os: macos-latest diff --git a/.gitignore b/.gitignore index 92b8bcd..b31bcdf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /.stack-work/ *~ +*.yaml.lock diff --git a/ChangeLog.md b/ChangeLog.md index 08554e6..b129eed 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## 0.1.7.0 - 2024-10-21 + +* Add support for GHC 9.12 (GHC 9.12.1 onward). See + [#23](https://github.com/commercialhaskell/hi-file-parser/pull/23) + ## 0.1.6.0 - 2023-11-04 * Add further support for GHC 9.8 (GHC 9.8.1 onward). See diff --git a/hi-file-parser.cabal b/hi-file-parser.cabal index e89ff93..83a2ba3 100644 --- a/hi-file-parser.cabal +++ b/hi-file-parser.cabal @@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.36.0. +-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack name: hi-file-parser -version: 0.1.6.0 +version: 0.1.7.0 synopsis: Parser for GHC's hi files description: Please see the README on Github at category: Development @@ -35,16 +35,20 @@ extra-source-files: test-files/iface/x64/ghc8107/X.hi test-files/iface/x64/ghc9002/Main.hi test-files/iface/x64/ghc9002/X.hi - test-files/iface/x64/ghc9027/Main.hi - test-files/iface/x64/ghc9027/X.hi + test-files/iface/x64/ghc9028/Main.hi + test-files/iface/x64/ghc9028/X.hi test-files/iface/x64/ghc9044/Main.hi test-files/iface/x64/ghc9044/X.hi test-files/iface/x64/ghc9047/Main.hi test-files/iface/x64/ghc9047/X.hi - test-files/iface/x64/ghc9063/Main.hi - test-files/iface/x64/ghc9063/X.hi - test-files/iface/x64/ghc9081/Main.hi - test-files/iface/x64/ghc9081/X.hi + test-files/iface/x64/ghc9066/Main.hi + test-files/iface/x64/ghc9066/X.hi + test-files/iface/x64/ghc9083/Main.hi + test-files/iface/x64/ghc9083/X.hi + test-files/iface/x64/ghc9101/Main.hi + test-files/iface/x64/ghc9101/X.hi + test-files/iface/x64/ghc9120/Main.hi + test-files/iface/x64/ghc9120/X.hi source-repository head type: git diff --git a/package.yaml b/package.yaml index 4447891..bdef8f0 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: hi-file-parser -version: 0.1.6.0 +version: 0.1.7.0 github: commercialhaskell/hi-file-parser license: BSD3 author: Hussein Ait-Lahcen @@ -24,16 +24,20 @@ extra-source-files: - test-files/iface/x64/ghc8107/X.hi - test-files/iface/x64/ghc9002/Main.hi - test-files/iface/x64/ghc9002/X.hi -- test-files/iface/x64/ghc9027/Main.hi -- test-files/iface/x64/ghc9027/X.hi +- test-files/iface/x64/ghc9028/Main.hi +- test-files/iface/x64/ghc9028/X.hi - test-files/iface/x64/ghc9044/Main.hi - test-files/iface/x64/ghc9044/X.hi - test-files/iface/x64/ghc9047/Main.hi - test-files/iface/x64/ghc9047/X.hi -- test-files/iface/x64/ghc9063/Main.hi -- test-files/iface/x64/ghc9063/X.hi -- test-files/iface/x64/ghc9081/Main.hi -- test-files/iface/x64/ghc9081/X.hi +- test-files/iface/x64/ghc9066/Main.hi +- test-files/iface/x64/ghc9066/X.hi +- test-files/iface/x64/ghc9083/Main.hi +- test-files/iface/x64/ghc9083/X.hi +- test-files/iface/x64/ghc9101/Main.hi +- test-files/iface/x64/ghc9101/X.hi +- test-files/iface/x64/ghc9120/Main.hi +- test-files/iface/x64/ghc9120/X.hi # Metadata used when publishing your package synopsis: Parser for GHC's hi files diff --git a/stack-ghc-9.8.2.yaml b/stack-ghc-9.8.2.yaml deleted file mode 100644 index 5e837d2..0000000 --- a/stack-ghc-9.8.2.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# GHC 9.8.2 -snapshot: nightly-2024-10-11 diff --git a/stack-ghc-9.8.3.yaml b/stack-ghc-9.8.3.yaml new file mode 100644 index 0000000..a955931 --- /dev/null +++ b/stack-ghc-9.8.3.yaml @@ -0,0 +1,3 @@ +# GHC 9.8.3 +snapshot: nightly-2024-10-21 +compiler: ghc-9.8.3 diff --git a/stack.yaml.lock b/stack.yaml.lock deleted file mode 100644 index 43360c2..0000000 --- a/stack.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/topics/lock_files - -packages: [] -snapshots: -- completed: - sha256: 0964f3e2c04e21abf42e271490e6974bc923aac2f2fd595fcb53ad0c237dbed1 - size: 720034 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/38.yaml - original: lts-22.38 diff --git a/test-files/iface/x64/README.md b/test-files/iface/x64/README.md index 1823e8a..c1a5641 100644 --- a/test-files/iface/x64/README.md +++ b/test-files/iface/x64/README.md @@ -20,11 +20,11 @@ command `nix-shell --pure --run "generate"`. ~~~ 3. Use the correct version of GHC to create the `*.hi` files in the correct - directory (here, we assume that a Stack YAML file already exists in the - repository root directory specifying the relevant snapshot): + directory (here, we assume that a YAML file already exists in the repository + root directory specifying the relevant snapshot): ~~~text - stack --stack-yaml ..\..\..\stack-ghc-x.y.z.yaml ghc -- -fforce-recomp -hidir ghcxyyz Main.hs + stack --snapshot ..\..\..\stack-ghc-x.y.z.yaml ghc -- -fforce-recomp -hidir ghcxyyz Main.hs ~~~ 4. Clean up the build artefacts that are not required, the `*.o` files and the diff --git a/test-files/iface/x64/ghc9027/Main.hi b/test-files/iface/x64/ghc9027/Main.hi deleted file mode 100644 index 08ab23e..0000000 Binary files a/test-files/iface/x64/ghc9027/Main.hi and /dev/null differ diff --git a/test-files/iface/x64/ghc9028/Main.hi b/test-files/iface/x64/ghc9028/Main.hi new file mode 100644 index 0000000..1f1483c Binary files /dev/null and b/test-files/iface/x64/ghc9028/Main.hi differ diff --git a/test-files/iface/x64/ghc9027/X.hi b/test-files/iface/x64/ghc9028/X.hi similarity index 89% rename from test-files/iface/x64/ghc9027/X.hi rename to test-files/iface/x64/ghc9028/X.hi index 3125a04..298e744 100644 Binary files a/test-files/iface/x64/ghc9027/X.hi and b/test-files/iface/x64/ghc9028/X.hi differ diff --git a/test-files/iface/x64/ghc9063/Main.hi b/test-files/iface/x64/ghc9063/Main.hi deleted file mode 100644 index 8a251f0..0000000 Binary files a/test-files/iface/x64/ghc9063/Main.hi and /dev/null differ diff --git a/test-files/iface/x64/ghc9063/X.hi b/test-files/iface/x64/ghc9063/X.hi deleted file mode 100644 index 67bb817..0000000 Binary files a/test-files/iface/x64/ghc9063/X.hi and /dev/null differ diff --git a/test-files/iface/x64/ghc9066/Main.hi b/test-files/iface/x64/ghc9066/Main.hi new file mode 100644 index 0000000..81550ec Binary files /dev/null and b/test-files/iface/x64/ghc9066/Main.hi differ diff --git a/test-files/iface/x64/ghc9066/X.hi b/test-files/iface/x64/ghc9066/X.hi new file mode 100644 index 0000000..2d1493e Binary files /dev/null and b/test-files/iface/x64/ghc9066/X.hi differ diff --git a/test-files/iface/x64/ghc9081/Main.hi b/test-files/iface/x64/ghc9081/Main.hi deleted file mode 100644 index b634135..0000000 Binary files a/test-files/iface/x64/ghc9081/Main.hi and /dev/null differ diff --git a/test-files/iface/x64/ghc9083/Main.hi b/test-files/iface/x64/ghc9083/Main.hi new file mode 100644 index 0000000..8a76ea2 Binary files /dev/null and b/test-files/iface/x64/ghc9083/Main.hi differ diff --git a/test-files/iface/x64/ghc9081/X.hi b/test-files/iface/x64/ghc9083/X.hi similarity index 80% rename from test-files/iface/x64/ghc9081/X.hi rename to test-files/iface/x64/ghc9083/X.hi index 09a3612..208a717 100644 Binary files a/test-files/iface/x64/ghc9081/X.hi and b/test-files/iface/x64/ghc9083/X.hi differ diff --git a/test-files/iface/x64/ghc9101/Main.hi b/test-files/iface/x64/ghc9101/Main.hi new file mode 100644 index 0000000..4c0c803 Binary files /dev/null and b/test-files/iface/x64/ghc9101/Main.hi differ diff --git a/test-files/iface/x64/ghc9101/X.hi b/test-files/iface/x64/ghc9101/X.hi new file mode 100644 index 0000000..1630923 Binary files /dev/null and b/test-files/iface/x64/ghc9101/X.hi differ diff --git a/test/HiFileParserSpec.hs b/test/HiFileParserSpec.hs index 91ba74c..e05351c 100644 --- a/test/HiFileParserSpec.hs +++ b/test/HiFileParserSpec.hs @@ -30,11 +30,12 @@ versions64 = , "ghc8084" -- Last in GHC 8.8 series, using GHC 8.6.1 format , "ghc8107" -- Last in GHC 8.10 series, using GHC 8.10.1 format , "ghc9002" -- Last in GHC 9.0 series, using GHC 9.0.1 format - , "ghc9027" -- Last in GHC 9.2 series, using GHC 9.0.1 format + , "ghc9028" -- Last in GHC 9.2 series, using GHC 9.0.1 format , "ghc9044" -- Last using GHC 9.4.1 format , "ghc9047" -- Last in GHC 9.4 series, using GHC 9.4.5 format - , "ghc9063" -- Last in GHC 9.6 series, using GHC 9.4.5 format - , "ghc9081" -- First in GHC 9.8 series, using GHC 9.8.1 format + , "ghc9066" -- Last in GHC 9.6 series, using GHC 9.4.5 format + , "ghc9083" -- Last in GHC 9.8 series, using GHC 9.8.1 format + , "ghc9101" -- Last in GHC 9.10 series, using GHC 9.8.1 format , "ghc9120" -- First in GHC 9.12 series, using GHC 9.12 format ]