unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Timothy Sample <samplet@ngyro.com>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: heads-up: Haskell updates
Date: Thu, 15 Feb 2018 09:02:43 -0500	[thread overview]
Message-ID: <877eretkos.fsf@ngyro.com> (raw)
In-Reply-To: <87o9kq7gt9.fsf@elephly.net> (Ricardo Wurmus's message of "Thu, 15 Feb 2018 10:17:22 +0100")

Ricardo Wurmus <rekado@elephly.net> writes:

> I think that’s a misunderstanding.  The cause for the error is earlier
> when it complains that some packages depend on different versions of the
> “transformers” package.  “StateT” is a monad transformer.

For what it’s worth, I fixed this error on my machine by adding
“ghc-transformers” as an input to “ghc-transformers-compat”.  (This also
fixed “ghc-adjunctions”.)  This suggests to me that what you wrote
earlier accounts for the problem:

> * many problems are caused by the fact that GHC includes a bunch of
>   packages that really shouldn’t be overridden by packages.  Examples
>   are ghc-directory, ghc-binary, ghc-bytestring, etc.  Since we still
>   have packages where these inputs are used, there can be conflicts down
>   the line, which are hard to fix.

The “ghc-transformers-compat” package was using “transformers” from GHC,
while “resourcet” and “adjunctions” used our “ghc-transformers” package
from Hackage.  Forcing “ghc-transformers-compat” to also use
“transformers” from Hackage fixes the problems.

I was trying to see if I could get Idris to build, and after fixing
these two packages, ran into similar problems with “ghc-binary”.

It looks like we might need some kind of policy here.  Either we don’t
tinker with (override) the built-in GHC packages or we somehow hide them
during builds.  If we decided not to override them, we should consider
deleting all the packages that do so.  Then all the dependent packages
would pick up their dependencies from GHC (somewhat implicitly).  If we
hid the built-in packages, it would require that every Haskell package
be explicit about which built-in GHC packages it uses (which is not
currently the case as demonstrated above).

Both of these approaches would probably cause a lot of errors right off
the start.  The first approach would cause compile-time errors
(references to undefined variables in Guile), and the second, build
errors.

Unfortunately, I don’t know enough about Haskell to comment on whether
or not these packages “really shouldn’t be overridden” or not.  (It
makes sense to me, but OTOH, why are they all split up and on Hackage if
not for tinkering?)  If they really shouldn’t be overridden, then we
should stop doing so!

I’m happy to work on this if there is a path forward.

Thoughts?


-- Tim

  parent reply	other threads:[~2018-02-15 14:02 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-13 12:48 heads-up: Haskell updates Ricardo Wurmus
2018-02-14 14:20 ` Ludovic Courtès
2018-02-14 16:46   ` Ricardo Wurmus
2018-02-14 18:46 ` Mark H Weaver
2018-02-14 19:19   ` Ricardo Wurmus
2018-02-14 19:39     ` Ricardo Wurmus
2018-02-14 19:44       ` Ricardo Wurmus
2018-02-14 21:23       ` Mark H Weaver
2018-02-14 21:39         ` Andreas Enge
2018-02-14 22:42           ` Ricardo Wurmus
2018-02-14 22:47       ` Danny Milosavljevic
2018-02-15  8:41         ` Mark H Weaver
2018-02-15  9:17           ` Ricardo Wurmus
2018-02-15 10:38             ` Mark H Weaver
2018-02-15 14:02             ` Timothy Sample [this message]
2018-02-15 15:05               ` Ricardo Wurmus
2018-02-17 12:50               ` Ricardo Wurmus
2018-02-17 13:04                 ` Ricardo Wurmus
2018-02-17 15:18                   ` Andreas Enge
2018-02-17 16:11                     ` Ricardo Wurmus
2018-02-17 20:00                       ` Mark H Weaver
2018-02-17 20:24                         ` core-updates, last call? Leo Famulari
2018-02-17 23:16                           ` Ricardo Wurmus
2018-02-18 21:45                             ` Pjotr Prins
2018-02-18 22:44                               ` Ricardo Wurmus
2018-02-18 20:42                       ` heads-up: Haskell updates Chris Marusich
2018-02-15 10:29           ` Mark H Weaver
2018-02-15 11:04           ` Danny Milosavljevic
2018-02-15 11:08             ` Danny Milosavljevic
2018-02-15 11:12             ` Andreas Enge
2018-02-15 15:44             ` Ricardo Wurmus
2018-02-15 17:03               ` Danny Milosavljevic
2018-02-15 17:46                 ` Leo Famulari
2018-02-15 18:12                 ` Mark H Weaver
2018-02-16 15:26                 ` Danny Milosavljevic
2018-02-16 16:31                   ` Marius Bakke
2018-02-16 17:43                     ` Ricardo Wurmus
2018-02-16 18:12                       ` Marius Bakke
2018-02-16 18:29                         ` Leo Famulari
2018-02-16 22:14                           ` Mark H Weaver
2018-02-16 18:15                       ` Mark H Weaver
2018-02-17  0:33                         ` Ricardo Wurmus
2018-02-17 12:11                       ` Oleg Pykhalov
2018-02-17 12:18                         ` Ricardo Wurmus
2018-02-17 12:55                           ` Oleg Pykhalov
2018-02-17 13:00                             ` Ricardo Wurmus
2018-02-17 13:38                               ` Timothy Sample
2018-02-17 14:42                                 ` Ricardo Wurmus
2018-02-17 16:04                                   ` Timothy Sample
2018-02-17 23:22                                     ` Ricardo Wurmus
2018-02-17 15:51                               ` Oleg Pykhalov
2018-02-17 19:48               ` Mark H Weaver
2018-02-17 19:54             ` Mark H Weaver
2018-02-17 21:51               ` Danny Milosavljevic
2018-02-17 22:32                 ` Timothy Sample

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877eretkos.fsf@ngyro.com \
    --to=samplet@ngyro.com \
    --cc=guix-devel@gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).