guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] profiles: Generate GHC's package database cache.


From: Mark H Weaver
Subject: Re: [PATCH] profiles: Generate GHC's package database cache.
Date: Sun, 05 Apr 2015 16:24:31 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Federico Beffa <address@hidden> writes:

> On Sun, Apr 5, 2015 at 7:21 AM, Mark H Weaver <address@hidden> wrote:
>> I believe this will require GHC to build *any* non-empty profile.  Since
>> GHC is only available on Intel platforms, this will break profile
>> building on MIPS and ARM.
>>
>> Even on Intel platforms, I don't want to have to install GHC to build
>> profiles that don't contain any Haskell packages, especially since it
>> involves trusting the upstream binaries from GHC.
>
> Good point. Would this check be satisfactory for you?
>
>   ;; Don't depend on GHC when there's nothing to do.
>   (if (any (cut string-prefix? "ghc" <>)
>            (map manifest-entry-name (manifest-entries manifest)))
>       (gexp->derivation "ghc-package-cache" build
>                         #:modules '((guix build utils))
>                         #:local-build? #t)
>       (gexp->derivation "ghc-package-cache" #~(mkdir #$output))))

Sure, this would be fine, although I wonder if we could replace the
'string-prefix?' with 'string=?'.  If so, the conditional could be
changed to:

  (if (member "ghc" (map manifest-entry-name (manifest-entries manifest)))
      ...)

What do you think?

>> What if I want to use Hugs instead, or some other Haskell implementation
>> that is capable of being bootstrapped from source code.  Is GHC the only
>> tool that can do this job?
>
> As far as I know, the library database is compiler specific. Here we
> are handling GHC only.

Okay, makes sense.

    Thank you!
       Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]