From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] Add recursive CRAN importer Date: Tue, 24 May 2016 15:08:32 +0200 Message-ID: References: <1464094411-8277-1-git-send-email-ricardo.wurmus@mdc-berlin.de> 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]:36721) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b5C4q-00065r-FK for guix-devel@gnu.org; Tue, 24 May 2016 09:08:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b5C4k-0003u5-M8 for guix-devel@gnu.org; Tue, 24 May 2016 09:08:52 -0400 Received: from venus.bbbm.mdc-berlin.de ([141.80.25.30]:38283) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b5C4k-0003sy-BE for guix-devel@gnu.org; Tue, 24 May 2016 09:08:46 -0400 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 6BEFC3807C4 for ; Tue, 24 May 2016 15:08:44 +0200 (CEST) Received: from venus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (venus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HQpo44wN73fX for ; Tue, 24 May 2016 15:08:38 +0200 (CEST) Received: from HTCAONE.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTPS for ; Tue, 24 May 2016 15:08:38 +0200 (CEST) In-Reply-To: <1464094411-8277-1-git-send-email-ricardo.wurmus@mdc-berlin.de> 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: guix-devel@gnu.org Hi Guix, I=E2=80=99m sorry for the confusion. I accidentally resent this cover le= tter along with the patch for r-knitrbootstrap. Please note that the patch for r-knitrbootstrap has nothing to do with the recursive CRAN importer patches. ~~ Ricardo Ricardo Wurmus writes: > attached is a patch series that gives us a recursive CRAN importer. I = still > haven't documented it in the manual, because I'm not sure if the > implementation is acceptable. > > Simply put, the procedure that produces a package expression now return= s > multiple values. The first is the package expression, the second is a = list of > dependencies (with their upstream names). This allows us to go through= that > list and check if any unpackaged inputs are among them. > > The recursive importer stops when a package cannot be imported (e.g. wh= en a > bioconductor package has unpackaged CRAN dependencies), or when all pac= kages > either already existed at runtime or have been packaged. > > To make this work well I had to create a list of packages that should n= ot be > imported (because they are part of the default R installation), and I h= ad to > make sure that R packages always get a predictable Guix package name. > > Comments are very welcome! > > ~~ Ricardo