Re: lang/ghc 8.6.4

2019-05-31 Thread Daniel Moerner
On Fri, May 31, 2019 at 6:30 AM Matthias Kilian  wrote:
> The cabal / hackage / library people are clueless if it comes to
> version limits in dependencies and when which part of a library
> should be bumped. Instead of correcting this, they invented a
> mechanism to publish "revised" meta data for a package via hackage.

Thanks for your detailed explanation. I understand now. And to be
clear, devel/hs-async is currently building fine using the packages
posted at the start of this thread.

I am interested in updating cabal-install to 2.4.1.0. I definitely
understand wanting to keep the number of hs-ports low, and fixing
cabal-install should help. To try to help, I have updated a few more
ports. I have attached the diff since I think my mail client will
mangle it. The changes:

devel/hs-tar: Updated to 0.5.1.0, hackage patch added
security/hs-cryptohash-sha256: Hackage patch added, revision bumped
security/hs-hackage-security: Updated to 0.5.3.0, hackage patch added

This is the first time that I have done this, so I hope I did it
right; I did my best to read the documentation carefully. (Is there an
easy way to get MODGHC_PACKAGE_KEY? I ended up having to do a run of
"make update-plist" to get the new one from the file names, edit the
Makefile, and then run "make update-plist" again.)

Note that devel/hs-mtl, devel/hs-parsec, devel/hs-text, and
devel/hs-stm are now core libraries included in ghc
(https://www.haskell.org/platform/contents.html), and so I think those
ports can be removed and packages that depend on them explicitly need
to have those dependencies removed.

The new cabal-install 2.4.1.0 has a new dependency, resolve, which has
not been packaged. I'd be happy to also do that soon, but I need to
study the documentation more before trying to make a new port.

Best,
Daniel

On Fri, May 31, 2019 at 6:30 AM Matthias Kilian  wrote:
>
> On Thu, May 30, 2019 at 06:37:50PM -0400, Daniel Moerner wrote:
> > Thanks a lot for your work on this. I just built some of ghc 8.6.4 on
> > a machine running -current using your patches.
> >
> > Unfortunately, devel/hs-async doesn't build with this version of ghc
> > and base (4.12):
> >
> > Configuring async-2.2.1...
> > [...]
> > Setup: Encountered missing dependencies:
> > base >=4.3 && <4.12, hashable >=1.1.1.0 && <1.3, stm >=2.2 && <2.5
> >
> > Looking into this a bit, hackage says that async 2.2.1 supports base
> > (>=4.3 && <4.13) (https://hackage.haskell.org/package/async), but this
> > just seems to be a mistake in hackage. At present async supports base
> > 4.12 only in git (and there's a fairly old issue request for a new
> > release https://github.com/simonmar/async/issues/89).
>
> The cabal / hackage / library people are clueless if it comes to
> version limits in dependencies and when which part of a library
> should be bumped. Instead of correcting this, they invented a
> mechanism to publish "revised" meta data for a package via hackage.
> For async-2.2.1, the "revised" package description can be found at
>
> http://hackage.haskell.org/package/async-2.2.1/async.cabal
>
> If you compare this against the package description contained in the
> distfile (or at
> http://hackage.haskell.org/package/async-2.2.1/src/async.cabal), you'll
> see that the revised onealready as less strict dependencies (but of
> course, this will fail again with the next update of ghc):
>
> --- async.cabal-dist Fri May 31 11:09:12 2019
> +++ async.cabal-hackage Fri May 31 11:10:12 2019
> @@ -1,5 +1,6 @@
>  name:async
>  version: 2.2.1
> +x-revision:  2
>  -- don't forget to update ./changelog.md!
>  synopsis:Run IO operations asynchronously and wait for their 
> results
>
> @@ -50,14 +51,14 @@
>  if impl(ghc>=7.1)
>  other-extensions: Trustworthy
>  exposed-modules: Control.Concurrent.Async
> -build-depends:   base >= 4.3 && < 4.12, hashable >= 1.1.1.0 && < 
> 1.3, stm >= 2.2 && < 2.5
> +build-depends:   base >= 4.3 && < 4.13, hashable >= 1.1.1.0 && < 
> 1.4, stm >= 2.2 && < 2.6
>
>  test-suite test-async
>  default-language: Haskell2010
>  type:   exitcode-stdio-1.0
>  hs-source-dirs: test
>  main-is:test-async.hs
> -build-depends: base >= 4.3 && < 4.12,
> +build-depends: base >= 4.3 && < 4.13,
> async,
> stm,
> test-framework,
>
> See http://hackage.haskell.org/package/async-2.2.1/revisions/ for that
> concept of 'revised' package des

Re: lang/ghc 8.6.4

2019-05-30 Thread Daniel Moerner
Hi,

Thanks a lot for your work on this. I just built some of ghc 8.6.4 on
a machine running -current using your patches.

Unfortunately, devel/hs-async doesn't build with this version of ghc
and base (4.12):

Configuring async-2.2.1...
[...]
Setup: Encountered missing dependencies:
base >=4.3 && <4.12, hashable >=1.1.1.0 && <1.3, stm >=2.2 && <2.5

Looking into this a bit, hackage says that async 2.2.1 supports base
(>=4.3 && <4.13) (https://hackage.haskell.org/package/async), but this
just seems to be a mistake in hackage. At present async supports base
4.12 only in git (and there's a fairly old issue request for a new
release https://github.com/simonmar/async/issues/89).

Best,
Daniel