From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Beffa Subject: Re: [PATCH] profiles: Generate GHC's package database cache. Date: Mon, 6 Apr 2015 10:18:24 +0200 Message-ID: References: <87pp7j40aw.fsf@netris.org> <87h9su4934.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49169) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yf2El-00085q-US for guix-devel@gnu.org; Mon, 06 Apr 2015 04:18:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yf2Ek-0004v3-Ts for guix-devel@gnu.org; Mon, 06 Apr 2015 04:18:27 -0400 Received: from mail-la0-x235.google.com ([2a00:1450:4010:c03::235]:33388) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yf2Ek-0004uf-M8 for guix-devel@gnu.org; Mon, 06 Apr 2015 04:18:26 -0400 Received: by layy10 with SMTP id y10so15446431lay.0 for ; Mon, 06 Apr 2015 01:18:25 -0700 (PDT) In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mark H Weaver Cc: Guix-devel On Sun, Apr 5, 2015 at 10:33 PM, Federico Beffa wrote: > On Sun, Apr 5, 2015 at 10:24 PM, Mark H Weaver wrote: >>> >>> ;; 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 > > I used 'string-prefix?' to catch any GHC library (that we are > prefixing with 'ghc-...'). However, to compile such a library we need > GHC, so I think that 'string=?' should do. Thinking again about this: In principle a user can install a 'ghc-...' library without having GHC in his profile. I'm not sure how practical this would be, but I don't see a good reason to not support this by not creating the cache. For this reason I would prefer to keep the '(any ...)' variant. Regards, Fede