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

Release a version compatible with GHC 9.10 #45

Closed
Tracked by #19 ...
Qqwy opened this issue Nov 27, 2023 · 21 comments
Closed
Tracked by #19 ...

Release a version compatible with GHC 9.10 #45

Qqwy opened this issue Nov 27, 2023 · 21 comments

Comments

@Qqwy
Copy link

Qqwy commented Nov 27, 2023

I was about to open a PR to fix some outdated documentation, when I found out while reading the source code that #36 which was merged ~10 months ago had done just that.

When will a new version with the updated documentation be released to Hackage?

@phadej
Copy link
Collaborator

phadej commented Nov 27, 2023

Most likely GHC-9.10 (i.e. foldl' in Prelude will force the release: #43).

@andreasabel
Copy link
Member

And so the time has come...

@andreasabel andreasabel changed the title When will the next version be released? Release a version compatible with GHC 9.10 Mar 20, 2024
@andreasabel andreasabel mentioned this issue Mar 20, 2024
4 tasks
@andreasabel
Copy link
Member

Indeed, we have the build error with GHC 9.10:

src/Data/Text/Short/Internal.hs:69:7: error: [GHC-87543]
    Ambiguous occurrence ‘foldl'’.
    It could refer to
       either ‘Prelude.foldl'’,
              imported from ‘Prelude’ at src/Data/Text/Short/Internal.hs:(139,1)-(144,80)
              (and originally defined in ‘ghc-internal-9.1001.0:GHC.Internal.Data.Foldable’),
           or ‘Data.Text.Short.Internal.foldl'’,
              defined at src/Data/Text/Short/Internal.hs:586:1.
   |
69 |     , foldl'
   |       ^^^^^^

hamishmack added a commit to input-output-hk/haskell.nix that referenced this issue Apr 15, 2024
@angerman
Copy link

@phadej can we cut a release? With GHC 9.10 being effectively in the wild now, this necessitates usage of head.hackage, and has head.hackage leak out of GHC development. I don't think we want anyone ever to depend on head.hackage but GHC developers.

@phadej
Copy link
Collaborator

phadej commented Apr 16, 2024

I won't make a release until GHC-9.10.1 is out. If you are using alphas, deal with problems caused yourself.

@andreasabel
Copy link
Member

Making it easier for more developers to evaluate the alpha and RC versions of GHC will in the end benefit GHC development (and the whole Haskell ecosystem as a whole), as more regressions can be caught in time by more pre-release testing.
Frankly, I don't see what is gained by postponing the release here.

@phadej
Copy link
Collaborator

phadej commented Apr 16, 2024

It happens often enough that you then need to make another change for the final release

The head.hackage patch is there to be used

@hasufell
Copy link

It happens often enough that you then need to make another change for the final release

The head.hackage patch is there to be used

Here you're forgetting a small detail: the end user has no easy way of knowing which patch in head.hackage is upstream approved and which one is just cooked up by random contributors who don't really know the codebases.

That does make a pretty significant difference.

@andreasabel
Copy link
Member

If you also have to work around this ... here is a snippet for the cabal.project.local:

source-repository-package
  type:     git
  location: https://github.com/haskell-hvr/text-short
  tag:      9c4c133afc0b0d284e9c61477dcb9a20862f49f8

nomeata added a commit to nomeata/haskell-candid that referenced this issue Apr 28, 2024
@nomeata
Copy link

nomeata commented Apr 28, 2024

Very timely, thanks a lot! With this and

index-state: 2024-04-28T06:04:17Z
with-compiler: ghc-9.10.0.20240426
allow-newer:
  candid:*,
  *:base,
  *:template-haskell,
  *:deepseq,
  *:bytestring,
  *:text,
  *:ghc,
  *:containers

source-repository-package
  type:     git
  location: https://github.com/haskell-hvr/text-short
  tag:      9c4c133afc0b0d284e9c61477dcb9a20862f49f8

I could confirm that my package is 9.10.1-ready.

nomeata added a commit to nomeata/haskell-candid that referenced this issue Apr 28, 2024
* Try ghc 9.10

* Specify precise version

* Enable prereleases

* Try allow-newer

* More allow-newer

* More allow-newer

* More allow-newer

* Work around haskell-hvr/text-short#45 (comment)

* Fix upper-bounds

* Disable upper bounds checking for now

* Disable upper-bounds for real

* Update cabal bounds based on build plans

* Reinstate upper-bounds.config

* Bump version number

* Try symlink

---------

Co-authored-by: nomeata <[email protected]>
nomeata added a commit to nomeata/cabal-plan-bounds that referenced this issue Apr 28, 2024
nomeata added a commit to nomeata/cabal-plan-bounds that referenced this issue Apr 28, 2024
* Support GHC-9.10

* Prereleases

* Work around haskell-hvr/text-short#45

* Update cabal bounds based on build plans

* Add upper-bounds checking back

* Do not use “latest” for upper bound

---------

Co-authored-by: nomeata <[email protected]>
@tomjaguarpaw
Copy link

Most likely GHC-9.10 (i.e. foldl' in Prelude will force the release: #43).

We now have GHC-9.10, so could the release please be made?

@tchoutri
Copy link

@phadej It would be really kind of you to push a release.

@Bodigrim
Copy link
Contributor

text-short is the last package which needs an upgrade for one of my products to migrate to GHC 9.10 (everything else works fine with --allow-newer only). It would be great to have a release soon.

(GHC 9.10 and Cabal 3.12 are quite a game-changer because of semaphore builds and multiple home units, so I'm keen to upgrade asap)

@tchoutri
Copy link

@phadej also I'd be happy to give a hand regarding bounds bumps and compat PRs, if you are overworked. :)

@tomjaguarpaw
Copy link

I'm also willing to volunteer for bounds-bumping assistance.

@phadej
Copy link
Collaborator

phadej commented May 12, 2024

Blocked on haskell/ghcup-metadata#210 (or actually on GHC-9.10.1 being available in the default release channel of ghcup).

Having multiple pings over the weekend won't make me do anything any faster.

@phadej
Copy link
Collaborator

phadej commented May 12, 2024

The bump bumping is something I don't need help with. The release management overall is something I wouldn't trust many people to do.

@hasufell
Copy link

Blocked on haskell/ghcup-metadata#210 (or actually on GHC-9.10.1 being available in the default release channel of ghcup).

Yeah, it's weekend and I'm eating my chocolate cake.

@hasufell
Copy link

haskell/ghcup-metadata#211

@phadej
Copy link
Collaborator

phadej commented May 12, 2024

https://hackage.haskell.org/package/text-short-0.1.6

@phadej phadej closed this as completed May 12, 2024
@Bodigrim
Copy link
Contributor

It seems to say base >=4.12 && <4.20, no?

hamishmack added a commit to input-output-hk/haskell.nix that referenced this issue Jul 12, 2024
* Update nixpkgs pins

* Remove sphinx override

* Boot with ghc 8.10.7

* Patch code in case we decide to run sphinx doc generation

* Remove reference to old pkg

* Bump pinned haskellNix in nix-tools subdir

* Remove sphinx dependency and don't build docs for old GHCs

* Add materialized files

* Remove broken assert

* Fix disabling docs

* ifdLevel 1

* Try building ghc 9.2.8 with 9.2.8

* ifdLevel 0

* Try ghc902 to boot native ghc928

* Try haskell.nix ghc902 to boot native ghc928

* ifdLevel 1

* Stick with haskell.nix ghc 8.10.7 for building 9.2.8

* Bump ghc99

* Fix hash for linux

* Use ghc 9.6.4 to build git ghc commits

* Disable ghc-iserv-prof for ghc HEAD for now

* Fix logic

* ifdLevel 2

* Bump pins

* Fix for libsodium 1.0.19

* Fix hash

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Bump iserv-proxy

* Let's try using it directly.

* Add os-string package for ghc head

* Fix winePackage.minimal

* Update hackage-head

* Disable plugin test for ghc head

* Fix for emscripten in nixpkgs-unstable

* Fix for ghc 9.8.1

* Keep haddock but not sphinx docs

* ifdLevel 0

* ifdLevel 1

* Fix for musl

* ifdLevel 2

* ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Update hackage head

* Fix for ghc head

* Better fix for `os-string`

* Workaround for haskell/cabal#5444

* Conditional source-repository-package support

* Add missing \n

* Avoid libsodium on ghcjs and update hackage head

* Updte head.hackage sha256

* Updte head.hackage sha256

* Fix code coverage for ghc HEAD

* Fix code coverage for ghc HEAD

* Fix code coverage for ghc HEAD

* Updte head.hackage sha256

* Fixes for latest ghc 9.9

* ifdLevel 0

* Bump ghc99 pin

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Fix paths

* ifdLevel 1

* Fix paths

* ifdLevel 2

* ifdLevel 3

* Fix for ghc 8.10

* Exclude plugin test

* ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Remove patch replaced by ghc source patch

* Always build mingwW64

* Drop bad hack

* Try to fix windows ASLR.

Since binutils 2.36, it defaults to building ASLR for windows. This somehow seems to break with libffi and ghc. Not quite clear why exactly, however reverting back to non ASLR does fix it for us for now.

* Update pkgconf-nixpkgs-map.nix

Handle `throw`.

* Fixup throw catch

* Add back in libsodium.

* [win] fix Error: CFI instruction used without previous .cfi_startproc

* Fixup windows relocs

* Fix spelling mistake

* Update lock files

* Add BUGLOG

* Bump LLVM. There is no 9 left in nixpkgs.

* ifdLevel 1

* Make libcxxabi mapping work across multiple nixpkgs

* fix if

* fix parens

* ifdLevel 2

* ifdLevel 3

* head.hackage still needed for text-short

See haskell-hvr/text-short#45

* disable c++ as one breaking issue

* ifdLevel 1

* ifdLevel 2

* Use nixpkgs ghc964 to build hadrian when possible

* Update hadrian materialization

* ifdLevel 3

* Update pins

* ifdLevel 2

* ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* ifdLevel 1

* Fix for new git

* ifdLevel 2

* ifdLevel 3

* Use the old nixpkgs-unstable for now

* ifdLevel 1

* ifdLevel 2

* Remove updated libsodium

* Use the old nixpkgs pins for now

* ifdLevel 3

* Put nixpkgs updates back in

* ifdLevel 0

* Bump nixpkgs pins

* ifdLevel 1

* ifdLevel 2

* Fix for TH test

* ifdLevel 3

* Use .dll.a file in th-dlls-minimal

* Add fix for DLL loading using a `.dll.a` file

* Fix typo

* Apply fix to more ghc versions

* Patch remaining GHC versions

* Update BUGLOG

* Revert "Patch remaining GHC versions"

This reverts commit d7b153f.

* Update hackage repo hashes in cabal.project.local

* ifdLevel 1

* Bump nixpkgs pins and add 24.05

* Pin libsodium to nixpkgs 23.11 version for ci

* ifdLevel 2

* Fix libsodium pin

* Pin libsodium for GHA as well

* Update test/default.nix

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ifdLevel 1

* Only pin libsodium for haskell code in tests

* Update nixpkgs-unstable pin

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Fix musl libsodium tests

* Add 9.6 linker to 8.10 windows

* ifdLevel 0

* Disable darwin for now

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Disable darwin for now

* Revert "Add 9.6 linker to 8.10 windows"

This reverts commit 3ec62f3.

* Use stable-haskell/iserv-proxy?ref=iserv-syms for ghc <9.4

* Enable macOS and ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* Disable failing test

* ifdLevel 3

* Add macOS back

* We only need iserv-proxy for cross compilation (so leave it out of native ci)

* Add materialized spdx file

---------

Co-authored-by: Moritz Angermann <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

No branches or pull requests

9 participants