From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gEwtBm8zH2BWcQAA0tVLHw (envelope-from ) for ; Sun, 07 Feb 2021 00:25:19 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id YEP7AW8zH2CoDwAAbx9fmQ (envelope-from ) for ; Sun, 07 Feb 2021 00:25:19 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 78BEC9401C0 for ; Sun, 7 Feb 2021 00:25:18 +0000 (UTC) Received: from localhost ([::1]:58674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l8Xt5-0001O2-SD for larch@yhetil.org; Sat, 06 Feb 2021 19:25:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43028) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l8Xsu-0001Ng-PB for help-guix@gnu.org; Sat, 06 Feb 2021 19:25:04 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:42903) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l8Xss-0005ZJ-9b for help-guix@gnu.org; Sat, 06 Feb 2021 19:25:04 -0500 X-Originating-IP: 86.239.3.142 Received: from pruneau-1.home (lfbn-poi-1-564-142.w86-239.abo.wanadoo.fr [86.239.3.142]) (Authenticated sender: d@divoplade.fr) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 9056C40006; Sun, 7 Feb 2021 00:24:55 +0000 (UTC) Message-ID: Subject: Re: Wrapping an R script: how do I compose the R_LIBS_SITE environment variable? From: divoplade To: Ricardo Wurmus , zimoun Date: Sun, 07 Feb 2021 01:24:53 +0100 In-Reply-To: <87ft29tdu5.fsf@elephly.net> References: <57572613456b4704f097480b687fef4e8944cf68.camel@divoplade.fr> <867dnlb8v0.fsf@gmail.com> <87ft29tdu5.fsf@elephly.net> Content-Type: multipart/mixed; boundary="=-/g/TnKL+Eb2wXYbzc0lI" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Received-SPF: pass client-ip=217.70.183.194; envelope-from=d@divoplade.fr; helo=relay2-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -0.26 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 78BEC9401C0 X-Spam-Score: -0.26 X-Migadu-Scanner: scn1.migadu.com X-TUID: TQdhj+csXPLq --=-/g/TnKL+Eb2wXYbzc0lI Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hello, Sorry, I realize I was not clear enough. Attached is an example of a script written in R that has non-trivial recursive dependencies. You can run the example as: guix environment --ad-hoc --container -l package.scm -- hello You will normally see something like: $ guix environment --ad-hoc --container -l /tmp/package.scm -- hello # A tibble: 10 x 2 x y 1 1 1 2 2 4 3 3 9 4 4 16 5 5 25 6 6 36 7 7 49 8 8 64 9 9 81 10 10 100 sh: rm: command not found If you look at the package definition, you see that I call wrap-program in order to set the R_LIBS_SITE environment variable. The components of R_LIBS_SITE is the R dependencies of my package, and their recursive R dependencies. But I don't know how to get them. I hope this example is better at explaining the problem. --=-/g/TnKL+Eb2wXYbzc0lI Content-Disposition: attachment; filename="package.scm" Content-Type: text/x-scheme; name="package.scm"; charset="UTF-8" Content-Transfer-Encoding: base64 KHVzZS1tb2R1bGVzIChndWl4IHBhY2thZ2VzKQoJICAgICAoZ3VpeCBidWlsZC1zeXN0ZW0gdHJp dmlhbCkKCSAgICAgKGd1aXggZ2V4cCkKCSAgICAgKGdudSBwYWNrYWdlcyBiYXNlKQoJICAgICAo Z251IHBhY2thZ2VzIGJhc2gpCgkgICAgIChnbnUgcGFja2FnZXMgc3RhdGlzdGljcykKCSAgICAg KGdudSBwYWNrYWdlcyBjcmFuKSkKCihwYWNrYWdlCiAobmFtZSAici1oZWxsbyIpCiAodmVyc2lv biAiMC4wLjAiKQogKHNvdXJjZSAocGxhaW4tZmlsZSAiZW1wdHkiICIiKSkKIChidWlsZC1zeXN0 ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCiAoYXJndW1lbnRzCiAgJygjOm1vZHVsZXMgKChndWl4 IGJ1aWxkIHV0aWxzKSkKICAgICM6YnVpbGRlcgogICAgKGJlZ2luCiAgICAgICh1c2UtbW9kdWxl cyAoZ3VpeCBidWlsZCB1dGlscykpCiAgICAgIChsZXQgKChvdXQgKGFzc29jLXJlZiAlb3V0cHV0 cyAib3V0IikpCgkgICAgKHItaW4gKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJyLW1pbmltYWwi KSkKCSAgICAoYmFzaC1pbiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImJhc2giKSkpCgkobWtk aXIgb3V0KQoJKG1rZGlyIChzdHJpbmctYXBwZW5kIG91dCAiL2JpbiIpKQoJOzsgQnVnPyBQQVRI IGlzIG5vdCBzZXQKCShzZXRlbnYgIlBBVEgiIChzdHJpbmctYXBwZW5kIGJhc2gtaW4gIi9iaW4i KSkKCShjYWxsLXdpdGgtb3V0cHV0LWZpbGUgKHN0cmluZy1hcHBlbmQgb3V0ICIvYmluL2hlbGxv IikKCSAgKGxhbWJkYSAocG9ydCkKCSAgICAoZm9ybWF0IHBvcnQgIiMhfmEvYmluL1JzY3JpcHQK CmxpYnJhcnkgKFwibWFncml0dHJcIikKCmRhdGEgPC0gKHRpYmJsZTo6dGliYmxlICh4ID0gMTox MCkKICAgICU+JSBkcGx5cjo6bXV0YXRlICh5ID0geCBeIDIpKQoKcHJpbnQgKGRhdGEpCiIKCQkg ICAgci1pbikpKQoJKGNobW9kIChzdHJpbmctYXBwZW5kIG91dCAiL2Jpbi9oZWxsbyIpICNvNzU1 KQoJKHdyYXAtcHJvZ3JhbQoJIChzdHJpbmctYXBwZW5kIG91dCAiL2Jpbi9oZWxsbyIpCgkgYCgi Ul9MSUJTX1NJVEUiICI6IiA9CgkgICAsKG1hcCAobGFtYmRhIChyLXBhY2thZ2UpCgkJICAgOzsg Ul9MSUJTX1NJVEUgc2hvdWxkIHBvaW50IHRvIHRoZSBzaXRlLWxpYnJhcnkKCQkgICA7OyBmb2xk ZXIgb2YgdGhlIHBhY2thZ2VzCgkJICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiAlYnVpbGQt aW5wdXRzIHItcGFja2FnZSkKCQkJCSAgIi9zaXRlLWxpYnJhcnkiKSkKCQkgOzsgSGVyZSBhcmUg bXkgUiBkZXBlbmRlbmNpZXM6CgkJICcoInItbWFncml0dHIiICJyLXRpYmJsZSIgInItZHBseXIi CgkJICAgOzsgSG93ZXZlciwgcnVubmluZyBoZWxsbyByZXF1aXJlcyB0aGVzZSByZWN1cnNpdmUK CQkgICA7OyBkZXBlbmRlbmNpZXMuIEhvdyBhbSBJIHN1cHBvc2VkIHRvIGtub3c/IFdoYXQgaWYK CQkgICA7OyB0aGV5IGNoYW5nZSB3aXRoIGZ1dHVyZSB2ZXJzaW9ucyBvZiBteQoJCSAgIDs7IGRl cGVuZGVuY2llcz8KCQkgICAici1ybGFuZyIgInItdmN0cnMiICJyLXI2IiAici1nZW5lcmljcyIg InItZ2x1ZSIKCQkgICAici1saWZlY3ljbGUiICJyLWVsbGlwc2lzIiAici1waWxsYXIiICJyLWNy YXlvbiIKCQkgICAici1wa2djb25maWciICJyLXRpZHlzZWxlY3QiICJyLXB1cnJyIiAici1jbGki CgkJICAgInItYXNzZXJ0dGhhdCIgInItZmFuc2kiICJyLXV0ZjgiKSkpKSkpKSkKIChuYXRpdmUt aW5wdXRzCiAgYCgoImJhc2giICxiYXNoKSkpCiAoaW5wdXRzCiAgYCgoInItbWluaW1hbCIgLHIt bWluaW1hbCkKICAgICgiYmFzaCIgLGJhc2gpKSkKIChwcm9wYWdhdGVkLWlucHV0cwogIGAoKCJy LW1hZ3JpdHRyIiAsci1tYWdyaXR0cikKICAgICgici10aWJibGUiICxyLXRpYmJsZSkKICAgICgi ci1kcGx5ciIgLHItZHBseXIpKSkKIChzeW5vcHNpcyAiQSBzY3JpcHQgd3JpdHRlbiBpbiBSIikK IChkZXNjcmlwdGlvbiAiSG93IGNhbiBJIGxpc3QgdGhlIHJlY3Vyc2l2ZSBSIGRlcGVuZGVuY2ll cz8iKQogKGhvbWUtcGFnZSAiaHR0cDovL2V4YW1wbGUuY29tIikKIChsaWNlbnNlICcuLi4pKQo= --=-/g/TnKL+Eb2wXYbzc0lI--