From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:53493) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii4aR-0001Dq-En for guix-patches@gnu.org; Thu, 19 Dec 2019 17:48:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ii4aQ-0008LW-6Q for guix-patches@gnu.org; Thu, 19 Dec 2019 17:48:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39724) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ii4aQ-0008KP-27 for guix-patches@gnu.org; Thu, 19 Dec 2019 17:48:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ii4aP-0006RW-Uu for guix-patches@gnu.org; Thu, 19 Dec 2019 17:48:01 -0500 Subject: [bug#38576] [PATCH] gnu: r-irkernel: Fix R kernel loading Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20191212074613.GA11713@zpidnp36> <87wob13mpn.fsf@elephly.net> <20191212100452.GE22717@zpidnp36> Date: Thu, 19 Dec 2019 23:47:33 +0100 In-Reply-To: <20191212100452.GE22717@zpidnp36> (Lars-Dominik Braun's message of "Thu, 12 Dec 2019 11:04:52 +0100") Message-ID: <87r210j5kq.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Lars-Dominik Braun Cc: Ricardo Wurmus , 38576@debbugs.gnu.org Hello, Lars-Dominik Braun skribis: >> This part looks fine to me, though I wonder if that=E2=80=99s what users= of this >> package would expect. Is there an expectation that the effective R is >> defined by the environment? Or would that not work anyway? > it=E2=80=99s what python-ipykernel does =E2=80=93 without explanation tho= ugh. I=E2=80=99m not an R > expert, so I=E2=80=99m unsure whether any R installation from the environ= ment (which > could be user-installed in $HOME) would be able to load this plugin or ju= st the > one it was =E2=80=9Cbuilt=E2=80=9D for. This change assumes the latter. > >>=20 >> > @@ -12423,6 +12429,8 @@ running IRkernel session.") >> > ("r-evaluate" ,r-evaluate) >> > ("r-irdisplay" ,r-irdisplay) >> > ("r-jsonlite" ,r-jsonlite) >> > + ;; sets R_LIBS_SITE, so R can actually find this package (IRke= rnel) >> > + ("r-minimal" ,r-minimal) >> > ("r-pbdzmq" ,r-pbdzmq) >> > ("r-repr" ,r-repr) >> > ("r-uuid" ,r-uuid))) >>=20 >> This doesn=E2=80=99t look right to me. It seems wrong for any R package= to >> propagate R itself. The R_LIBS_SITE variable is =E2=80=9Cattached=E2=80= =9D to >> =E2=80=9Cr-minimal=E2=80=9D, so when that is installed R will find the r= -irkernel >> package. Am I missing something? > If r-minimal is not installed, the kernel will simply not work and thus > render this package useless. That=E2=80=99s why I would consider it a dep= endency. An argument in favor of the status quo would be that it allows users to choose between =E2=80=98r=E2=80=99 and =E2=80=98r-minimal=E2=80=99. Is tha= t a compelling argument? It may be more important for =E2=80=98r-irkernel=E2=80=99 to work out of th= e box, like you did. However, if we go that route, we should arrange to not propagate =E2=80=98r-minimal=E2=80=99 (it=E2=80=99s intrusive) and instead have =E2= =80=98kernel.json=E2=80=99 do the right thing. How does that sound? Thanks, Ludo=E2=80=99.