Skip to content

Conversation

@liontiger23
Copy link
Contributor

@liontiger23 liontiger23 commented Nov 9, 2025

Summary

In newer GHC 9.8.*
default directory for package DB storage has been changed to include "ABI tag".
So instead of ~/.cabal/store/ghc-9.8.4 it is now located at
~/.cabal/store/ghc-9.8.4-inplace (when built with our scripts) or may use
any other suffix (ghcup version of ghc for example has tag -c895.

This messes up %cabal_configure macro as we have to
pass package DB location explicitly with --package-db. However,
correct GHC id (including ABI tag) can be obtained with command
ghc-pkg field ghc id, which works both for current GHC 9.4.8 in repos
and for 9.8.4 as well.

For GHC 9.4.8:

$ ghc-pkg field ghc id
id: ghc-9.4.8

For GHC 9.8.4 (built with our scripts):

$ ghc-pkg field ghc id
id: ghc-9.8.4-inplace

Test Plan

Verify that reverse-dependencies of ghc build with updated macros
with both current GHC 9.4.8 and newer GHC 9.8.4.

In newer [GHC 3.8.*](haskell/cabal#9326 (comment))
default directory for package DB storage has been changed to include "ABI tag".
So instead of `~/.cabal/store/ghc-9.8.4` it is now located at
`~/.cabal/store/ghc-9.8.4-inplace` (when built with our scripts) or may use
any other suffix (`ghcup` version of ghc for example has tag `-c895`.

This messes up `%cabal_configure` macro as we have to
pass package DB location explicitly with `--package-db`. However,
correct GHC id (including ABI tag) can be obtained with command
`ghc-pkg field ghc id`, which works both for current GHC 9.4.8 in repos
and for 9.8.4 as well.

For GHC 9.4.8:
```bash
$ ghc-pkg field ghc id
id: ghc-9.4.8
```

For GHC 9.8.4 (built with our scripts):
```bash
$ ghc-pkg field ghc id
id: ghc-9.8.4-inplace
```
@liontiger23
Copy link
Contributor Author

@GZGavinZhao please review

Copy link
Member

@GZGavinZhao GZGavinZhao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@GZGavinZhao GZGavinZhao changed the title macros: prepare haskell macros for GHC 3.8 update macros: prepare haskell macros for GHC 9.8 update Nov 9, 2025
@GZGavinZhao
Copy link
Member

I assume you meant GHC 9.8 so I updated the title and PR description.

@GZGavinZhao GZGavinZhao merged commit c35c572 into getsolus:main Nov 10, 2025
GZGavinZhao added a commit to getsolus/packages that referenced this pull request Nov 12, 2025
**Summary**

- Update to newer GHC for latest version of `pandoc-crossref`
- Depends on getsolus/ypkg#128 for haskell
macros compatibility

Release notes:

-
[9.6.*](https://downloads.haskell.org/ghc/9.6.7/docs/users_guide/release-notes.html)
-
[9.8.*](https://downloads.haskell.org/ghc/9.8.4/docs/users_guide/release-notes.html)

**Test Plan**

- Rebuild reverse-dependencies
- Verify that `pandoc` and `pandoc-crossref` work as expected

**Checklist**

- [x] Package was built and tested against unstable
- [ ] This change could gainfully be listed in the weekly sync notes
once merged <!-- Write an appropriate message in the Summary section,
then add the "Topic: Sync Notes" label -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants