From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 2ChoMnizqV/wLwAA0tVLHw (envelope-from ) for ; Mon, 09 Nov 2020 21:24:08 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id qMg9LnizqV9OLQAA1q6Kng (envelope-from ) for ; Mon, 09 Nov 2020 21:24:08 +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 712E4940355 for ; Mon, 9 Nov 2020 21:24:08 +0000 (UTC) Received: from localhost ([::1]:47630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcEdz-0002oN-9S for larch@yhetil.org; Mon, 09 Nov 2020 16:24:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33034) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcEdd-0002lg-6k for guix-devel@gnu.org; Mon, 09 Nov 2020 16:23:45 -0500 Received: from mx1.riseup.net ([198.252.153.129]:52468) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcEdb-00059M-8j for guix-devel@gnu.org; Mon, 09 Nov 2020 16:23:44 -0500 Received: from bell.riseup.net (bell-pn.riseup.net [10.0.1.178]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4CVP9v2XXpzDsyj; Mon, 9 Nov 2020 13:23:31 -0800 (PST) X-Riseup-User-ID: C807F1901124B5209A383EC6E236504B31B143C90E194F22E66492D1A9E98D2B Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 4CVP9k6T6szJqMX; Mon, 9 Nov 2020 13:23:22 -0800 (PST) References: <87ft6c1ypz.fsf@dustycloud.org> <865z77smyg.fsf@gmail.com> <87a6wizuic.fsf@dustycloud.org> <86blg6xncq.fsf@gmail.com> From: Dimos Dimakakos To: "Bonface M. K." Subject: Re: Racket packages / build system In-reply-to: <86blg6xncq.fsf@gmail.com> Date: Mon, 09 Nov 2020 23:21:33 +0200 Message-ID: <87a6vqxm3m.fsf@bendersteed.tech> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: softfail client-ip=198.252.153.129; envelope-from=me@bendersteed.tech; helo=mx1.riseup.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/09 16:23:38 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_PASS=-0.001, SPF_SOFTFAIL=0.665 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org, Pjotr Prins Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: cvwvMXq+29MS Bonface M. K. writes: > To simply put it, AFAIU updating a package would > require racket to update it's references(either > links, and other references that I won't go into), > hence creating some form of "global state"; > thereby if you use raco, every package updated > would lead to some update with racket's search > paths or dirs somewhere. Any ideas to overcome > this wall? (or anything I've got wrong somewhere?) This was one of the main problems that I also encountered when working on this. racket2nix solves this by generating a temporary environment (by coping most of the racket folders and the deps needed as writable folders) where it installs with raco and then tries to update the global state of racket. To be honest this solution is kinda hacky and also slow, but I couldn't think of another one at the time I tried to work on the issue. It's a reality that the racket install system is quite stateful and also many operations seem to try to touch files. Installing with raco for example will try to recompile the dependencies of the new package and other such examples. Anyway, I hope you can find a way to move this forward!