From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] Add (minimal) BioPerl. Date: Tue, 25 Aug 2015 23:44:44 +0200 Message-ID: <87d1ybdovn.fsf@gnu.org> References: <87sia44tjs.fsf@gnu.org> <87d218wwp9.fsf@mdc-berlin.de> <8738244sr2.fsf@gnu.org> <87pp4oojri.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49867) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUM1X-0006SC-0e for guix-devel@gnu.org; Tue, 25 Aug 2015 17:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUM1S-0003PJ-Ux for guix-devel@gnu.org; Tue, 25 Aug 2015 17:44:54 -0400 In-Reply-To: (Ricardo Wurmus's message of "Mon, 24 Aug 2015 15:03:01 +0200") 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: Ricardo Wurmus Cc: guix-devel Ricardo Wurmus skribis: > Hi, > > Ricardo Wurmus writes: > >> Ludovic Court=C3=A8s writes: >> >>>> Is there a better way to make sure that all (direct and transient) >>>> runtime dependencies can be found through the PERL5LIB variable? >>> >>> Good question. The #:inputs parameter of build phases contains all the >>> inputs (native, normal, and propagated) when not cross-compiling, so >>> that doesn=E2=80=99t help. >>> >>> Currently you would have to enumerate the subset of the inputs that you >>> want to use in =E2=80=98wrap-program=E2=80=99 as done in the =E2=80=98c= lusterssh=E2=80=99 recipe, for >>> instance. That=E2=80=99s tedious but still preferable, esp. if that re= duces the >>> size of the package=E2=80=99s closure. >>> >>>> From a7f69eb16e91ca94e5894b234a98a7f14e78fd64 Mon Sep 17 00:00:00 2001 >>>> From: Ricardo Wurmus >>>> Date: Wed, 3 Jun 2015 17:44:20 +0200 >>>> Subject: [PATCH] gnu: Add BioPerl. >>>> >>>> * gnu/packages/bioinformatics.scm (bioperl-minimal): New variable. >>> >>> [...] >>> >>>> + ;; Make sure all executables in "bin" find the required P= erl >>>> + ;; modules at runtime. >>>> + (let* ((out (assoc-ref outputs "out")) >>>> + (bin (string-append out "/bin/")) >>>> + (path (string-append out "/lib/perl5/site_perl:" >>>> + (getenv "PERL5LIB")))) >>>> + (for-each (lambda (file) >>>> + (wrap-program file >>>> + `("PERL5LIB" ":" prefix (,path)))) >>>> + (find-files bin "\\.pl$")) >>> >>> So either leave a =E2=80=9CFIXME=E2=80=9D saying that this is closing o= ver a superset of >>> what=E2=80=99s actually needed at run time, or enumerate the inputs. >>> >>> Otherwise LGTM. >> >> Attached is a new patch in which only the paths of the transitive target >> inputs (+ the output perl site_perl directory) are wrapped around the >> executables. The resulting path is a lot shorter than the PERL5LIB path >> at build time and judging from my quick tests the executables do not >> complain about missing Perl modules. >> >> WDYT? > > I think that this patch is better than the previous versions in which > all programmes were wrapped in whatever =E2=80=9CPERL5LIB=E2=80=9D contai= ned at > build-time. If there are no objections, I=E2=80=99ll push the last commi= t to > add =E2=80=98bioperl-minimal=E2=80=99. Sure, please go ahead. Thanks, Ludo=E2=80=99.