all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: Timothy Sample <samplet@ngyro.com>, John Soo <jsoo1@asu.edu>
Cc: guix-devel@gnu.org
Subject: Re: Haskell dependencies for custom cabal builds
Date: Tue, 12 Feb 2019 20:44:42 +0100	[thread overview]
Message-ID: <87bm3giyfp.fsf@fastmail.com> (raw)
In-Reply-To: <878sykg6d7.fsf@ngyro.com>

[-- Attachment #1: Type: text/plain, Size: 2004 bytes --]

Hello!

Timothy Sample <samplet@ngyro.com> writes:

> Hi John,
>
> John Soo <jsoo1@asu.edu> writes:
>
>> Hi there,
>>
>> I did a little digging this morning and it seems like runhaskell is
>> probably deprecated in favor of runghc. Do we expect anyone to be
>> using hugs or jhc?  Runghc also supports ghc flags. I still need to do
>> some more research here but the Haskell configure phase deliberately
>> unsets GHC_PACKAGE_PATH. I assume it does this because runhaskell
>> supports many Haskell compilers. If custom cabal builds are rare, I
>> would suspect that non-ghc builds are even rarer. Would it be possible
>> to replace runhaskell with runghc? Or parameterize the command?
>
> I don’t see how this would help.
>
> From the build system code,
>
>     Cabal errors if GHC_PACKAGE_PATH is set during 'configure', so unset
>     and restore it.
>
> The issue that git-annex has is that it wants to use some packages
> before calling into Cabal.  If “GHC_PACKAGE_PATH” is set properly, it
> will find the packages, proceed normally until calling Cabal, and then
> error because Cabal doesn’t like “GHC_PACKAGE_PATH”.  Cabal wants to
> setup the package search path from the command line arguments instead.
> On the other hand, if “GHC_PACKAGE_PATH” is not set, Cabal would
> theoretically work, but we never get there!  The custom “Setup.hs” code
> errors out with missing packages before ever calling Cabal.

FWIW here is the upstream issue:

<https://github.com/haskell/cabal/issues/3728>

Note that it was "fixed" briefly by these commits:

<https://github.com/haskell/cabal/pull/3753>

Unfortunately it was later reverted due to breaking some edge(?) cases,
and a Nix-specific workaround that I don't really understand was merged:

<https://github.com/haskell/cabal/pull/4193>

I wonder if we should try picking the original Cabal fix from ttuegel,
maybe as a separate package if it really is a breaking change.  Thoughts?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  parent reply	other threads:[~2019-02-12 19:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-11 16:37 Haskell dependencies for custom cabal builds John Soo
2019-02-11 20:19 ` Timothy Sample
2019-02-11 21:56   ` John Soo
2019-02-12 16:06     ` Timothy Sample
2019-02-12 16:50       ` John Soo
2019-02-12 19:18         ` Timothy Sample
2019-02-12 19:21         ` Timothy Sample
2019-02-12 19:37           ` John Soo
2019-02-12 19:44           ` Marius Bakke [this message]
2019-02-13  0:02             ` John Soo

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

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

  git send-email \
    --in-reply-to=87bm3giyfp.fsf@fastmail.com \
    --to=mbakke@fastmail.com \
    --cc=guix-devel@gnu.org \
    --cc=jsoo1@asu.edu \
    --cc=samplet@ngyro.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.