From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Chantreux Subject: Re: ripit/perl: use perl_cddb_get package? Date: Sat, 9 Nov 2019 12:24:58 +0100 Message-ID: <20191109112458.GA31368@prometheus.u-strasbg.fr> References: <4be31ebcc8f3ec6a513d7126f4dbbee1@posteo.de> <20191109091152.GA18779@prometheus.u-strasbg.fr> <23036934e4ef38c0592d485903f82838@posteo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54013) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTOrm-0007qy-Mp for help-guix@gnu.org; Sat, 09 Nov 2019 06:25:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iTOri-000728-DW for help-guix@gnu.org; Sat, 09 Nov 2019 06:25:18 -0500 Received: from aurora-borealis.phear.org ([94.242.205.164]:56870) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iTOrc-0006ua-95 for help-guix@gnu.org; Sat, 09 Nov 2019 06:25:10 -0500 Content-Disposition: inline In-Reply-To: <23036934e4ef38c0592d485903f82838@posteo.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Sam Cc: Marc Chantreux , help-guix@gnu.org > This seems to be the problem, it returned: > $ perl -E 'map say, grep -d, @INC' > $ find /gnu/store/*perl* -iname "CDDB_get.pm" > /gnu/store/7n8rdqbx25801ypj38bywacbicmsc2ns-perl-cddb-get-2.28/lib/perl5/site_perl/5.28.0/CDDB_get.pm > /gnu/store/mg8qgzi0v2his2xld1zkb8x7p5lf3v6m-perl-cddb-get-2.28/lib/perl5/site_perl/5.30.0/CDDB_get.pm > So it seems like the problem is that this perl script package can't see the > installed perl modules? yes: every module have its own store so perl don't see them ok. i don't know enough of guix to help on it but from the perl perspective, a module is available is in @INC which contains: * a built-in list of standard directories * the list of directories provided by the $PERL5LIB env variable (the awesome local::lib module is very helpful to manage $PERL* variables: don't miss it) * the list of directories hardcoded in the script using `use lib` instruction if guix wants to compete with (or encapsulate) cpan tooling, it needs to have a way to embrace the 2 most common strategies to install the things * installing everything in a directory dedicated for the software (this clear separation with the base system and other programs makes it easy to install, remove, maintain without breaking anything on the host... like containers does) * installing as much as possible in the standard directories using system packages. it would be very good to reach the point when the combo perlbrew+cpanm+local::lib (or carton) could be replaced by a guix counterpart. this is probably the momentum i'm waiting for to replace my perl toolchain with guix. for the projects providing cpanfiles, a strategy could be to provide both a perl version and the installed modules from the perl cpanm commands in the same store? also: having a plan9 experience, i would like to arg that the better way to do that is having a single dir to bind everything we need in it. that's basically what docker does poorly but i have no experience in handmade linux namespaces > Any input is appreciated. i can help as "someone who knows the perl ecosystem practices" but i don't know enough about guix. regards marc