haskell-hvr / hslogger

Logging framework for Haskell
https://hackage.haskell.org/package/hslogger
BSD 3-Clause "New" or "Revised" License
64 stars 36 forks source link

Support for GHC 9.0.1 #61

Closed sjakobi closed 3 years ago

sjakobi commented 3 years ago

At least the base bounds need to be relaxed

ysangkok commented 3 years ago

It is only the base bump that needs updating. At least that was the only change I applied, and it built.

Anton-Latukha commented 3 years ago

The package got a revision allowing a new base.

ysangkok commented 3 years ago

@sjakobi The git sources are still not updated. Some people may still find the open issue useful, as it signals that there is still something to be done regarding this issue. That is one argument against closing the issue.

sjakobi commented 3 years ago

@ysangkok I guess my issue with hslogger is resolved.

If a hslogger maintainer would like to use this issue to track work on the project, they can reopen it.

yaitskov commented 3 years ago

hi, please explain how this issue is fixed without any commit and release on hackage?!

i get error:

Configuring hslogger-1.3.1.0...

Setup: Encountered missing or private dependencies:
base >=4.3 && <4.14

builder for '/nix/store/x7n3vvk4ljvc6sh3526pif0ic8glwnhy-hslogger-1.3.1.0.drv' failed with exit code 1
cannot build derivation '/nix/store/hprdqpxzd8vncqg851hc2h9q02iixw8n-ghc-9.0.1-with-packages.drv': 1 dependencies couldn't be built
yaitskov commented 3 years ago

compilation pass on ghc901 with this bumps https://github.com/haskell-hvr/hslogger/pull/63

sjakobi commented 3 years ago

@yaitskov The latest Hackage revision 3 of hslogger allows building with GHC 9.0.1:

$ cabal install hslogger
Resolving dependencies...
Build profile: -w ghc-9.0.1 -O1
In order, the following will be built (use -v for more details):
 - network-bsd-2.8.1.0 (lib) (requires build)
 - hslogger-1.3.1.0 (lib) (requires build)
Starting     network-bsd-2.8.1.0 (lib)
Building     network-bsd-2.8.1.0 (lib)
Installing   network-bsd-2.8.1.0 (lib)
Completed    network-bsd-2.8.1.0 (lib)
Starting     hslogger-1.3.1.0 (lib)
Building     hslogger-1.3.1.0 (lib)
Installing   hslogger-1.3.1.0 (lib)
Completed    hslogger-1.3.1.0 (lib)
...
yaitskov commented 3 years ago

wow. I didn't know about revisions on hackage. looks like nix picks up not last revision.

question then. Why overloaded existing version with 3 revisions instead of bumping new one?

sjakobi commented 3 years ago

@yaitskov

Why overloaded existing version with 3 revisions instead of bumping new one?

I hope this answers your question: https://github.com/haskell-infra/hackage-trustees/blob/master/revisions-information.md#why-not-just-keep-uploading-new-versions

yaitskov commented 3 years ago

Thx for the link. IMHO changing content for existing version number is a Pandora box. It will cause nightmare at least for nix users, where everything is around immutability. They will just abandon Hackage and switch to github.

why not just keep uploading new version => why keep old versions nobody use.

sjakobi commented 3 years ago

@yaitskov Yeah, Hackage revisions can be surprising when you encounter them initially. At this stage, they are a pretty established concept though, and nixpkgs maintainers are well aware of them AFAIK.

yaitskov commented 3 years ago

It is hard to notice Hackage revisions out of nix function for hackage:

 # callHackageDirect
    #   :: { pkg :: Text, ver :: Text, sha256 :: Text }
    #   -> AttrSet
    #   -> HaskellPackage
    callHackageDirect = {pkg, ver, sha256}:

Typical scenario - I set version (e.g. "1.0.0"), I need, and fake SHA to get the correct one on the first run, because it is convenient. nixpkgs gives me some SHA. It turns out that it picks SHA for oldest revision!