From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: GSoC NPM Date: Thu, 25 Aug 2016 12:24:39 +0200 Message-ID: References: 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]:34824) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcrq8-0004ot-PO for guix-devel@gnu.org; Thu, 25 Aug 2016 06:24:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcrq3-000213-QX for guix-devel@gnu.org; Thu, 25 Aug 2016 06:24:52 -0400 Received: from sinope02.bbbm.mdc-berlin.de ([141.80.25.24]:56638) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcrq3-00020o-H8 for guix-devel@gnu.org; Thu, 25 Aug 2016 06:24:47 -0400 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" To: Jelle Licht Cc: guix-devel Hi > I also took both Ludovic', as well as Catonano's detailed feedback on t= he > initial draft of the recursive importer into account when rewriting it.= It > should now only visit each node in the dependency graph once, and be a > whole lot > more efficient as well. It is still based on the multi-valued return va= lues > that drove Ricardo's initial work on the CRAN recursive importer. [...] > After rewriting the recursive importer to be > more > sane, I scrawled some notes on my notepad that basically boil down to t= he > following: > 1. We should only look up each npm package once, if possible > 2. We should have a list of all npm package names. > 3. We should be able to specify the maximum traversal depth I=E2=80=99m not sure I understand. The CRAN recursive importer visits packages only once because it keeps track of previously imported packages (in addition to those that are already in Guix). > An easy-yet-inelegant solution would be to include the package name as = used > within the npm registry as metadata via an argument to the > node-build-system. That=E2=80=99s not so inelegant; or at least we have precedent in Guix. = For CRAN and Bioconductor packages we often add something like this: (properties `((upstream-name . "ACSNMineR"))) This is already used by the updater. ~~ Ricardo