From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OKTdLBT+JGOaDgAAbAwnHQ (envelope-from ) for ; Sat, 17 Sep 2022 00:52:04 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id kJT/KxT+JGPlZAEAG6o9tA (envelope-from ) for ; Sat, 17 Sep 2022 00:52:04 +0200 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 9D54045CAA for ; Sat, 17 Sep 2022 00:52:03 +0200 (CEST) Received: from localhost ([::1]:36354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oZKBm-0006sd-K7 for larch@yhetil.org; Fri, 16 Sep 2022 18:52:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZKBZ-0006sT-3X for help-guix@gnu.org; Fri, 16 Sep 2022 18:51:49 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:59789) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZKBS-0006gq-RF for help-guix@gnu.org; Fri, 16 Sep 2022 18:51:48 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id C6F1D3200AF2 for ; Fri, 16 Sep 2022 18:51:38 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Fri, 16 Sep 2022 18:51:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:content-transfer-encoding:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to; s=fm2; t=1663368698; x=1663455098; bh=d4F58Yco1NfYzYG38jCPk6aP9 nqSbLnNFonqSM6FCa8=; b=GZZxr8C6/C5V5DLCinrHAafo0VkMXwduv1+qMmBMC kXV9p9aq2XpUpr4ig1lQnofxpJOeqBLemN0iv/l3+TH2R8gvcLalxZg7EF99UAEn og1n1H1K6f4vMczT7ixLDqXH1AxJs05qgcQd/zSufD74DHYymZEZ+i/rgx9K684s XkesQIEmUfXJsMJ3al2X0o3YtESgxx/BaZ4bgPw2zLnz7c/9HxtlkhBpYmEA6o7j 4XVSHcSUmrmcKTBwKDq1+zh/HGH+TvoRfVmCIgo1lX9nuQI0lA1Ri2BUhFAVqtMH c9BCN61e8jfCtUU3a9HhNN0IvSF+OSPUNE+8NIS+CEqig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1663368698; x=1663455098; bh=d 4F58Yco1NfYzYG38jCPk6aP9nqSbLnNFonqSM6FCa8=; b=L1wmwVJy7eA3VI+Ze vwkMdXK/lEzX0jXw6CYUeDMvL3xrkF66biiKAtOWSJAnL8dYBQ+0d3urZhrbRbXE DoWQIIDGklsmUdgbV94DTyPd059Ts8I2X1sluzzaRNMNmph59OTNqgMPqrePMzNZ eKNMN4dbxBG4ZXm+HKuwlqoUtGiNGTC5I+cy0aEanl3lIYA3gj/KiB0pWk56i3Wz 7zqnAfiZB3YvEoMdz+2jgJjecuioGsef8j5hN0a/xkjTFUfS3534e/1KhmjkAhT0 rprWYStbGBwZliXXPEWvkuBFey+JnRY/r7pNZFKhTreZPdyrnX+mFTmWb8RTe6Dn tMWcA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedvuddgudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefkffggfgfuvfhfhfgjtgfgsehtje ertddtfeejnecuhfhrohhmpefrhhhilhhiphcuofgtifhrrghthhcuoehphhhilhhiphes phhhihhlihhpmhgtghhrrghthhdrtghomheqnecuggftrfgrthhtvghrnhepteejleeugf eiheeluddutdegkeeujeekkeeiuedtveduleehudeihfejleelffegnecuffhomhgrihhn pehgnhhurdhorhhgpdhpnhhpmhdrihhopdhmvgguihhumhdrtghomhenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhl ihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 16 Sep 2022 18:51:37 -0400 (EDT) Message-ID: <7f9d0721-2443-b50f-2bf5-20e26ca1aeb0@philipmcgrath.com> Date: Fri, 16 Sep 2022 18:51:37 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: Understanding the Guix approach when language package managers are around Content-Language: en-US To: help-guix@gnu.org References: From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=64.147.123.25; envelope-from=philip@philipmcgrath.com; helo=wout2-smtp.messagingengine.com X-Spam_score_int: -45 X-Spam_score: -4.6 X-Spam_bar: ---- X-Spam_report: (-4.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.816, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1663368724; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=d4F58Yco1NfYzYG38jCPk6aP9nqSbLnNFonqSM6FCa8=; b=Pf0ApJE6f7kOiqLI5iYFeaVufbQY/E/WuZ3TtBhq7nrOg2v3GPRlt/jrn3pLHECu2Od+QM s+zoWZB5sHOmyEFKs/XCLqFpIygOJMYOs1zGQzPjRcvQaohv8TNndTUnT/f2Z/RRs16gvy 9O9o4XuQp4CwV0P12gqN9yM0ED8efbkzk/eZXjzNlVPKS2fMOGuNlFudAnRjJqKnrZXCvv x2qlZnk6SSdX2Ft3A32xAVv0NEevBZJFWel6VRQrdHK+2pzMfdUPGA5Vh5ukC5ASC9oEpw ehG357Gk076Ja60hg1NiJMQ/lq/6IJCv0A6D2j71arccIZ77FKF19ZyHkXM+hg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1663368724; a=rsa-sha256; cv=none; b=ha88u3EK6x13usQeCbslo4UhQGyZS0scOUjofhkjnUjn1+6YyAQed0aG6Z5kCs5AwZmNfE 8/lVeOwp/BPrjnZmu+KIs8srrLaGx6sXoXYfvPcUN+suqRnEjo+jkLxK8Utvi2I+pI+5tQ tF6dwtuVrz72O3qU9wJ2belDfcjPugoNqhAO67sB3PtI7TABw8oHNR3FVdAyOiofo/K7II 2dJZkqWfhxDeK1KUtGflrZl4zvcClJ6sFck4SRcdTTFHymLreVP3+7mOsuxxiJ5Zcz03y8 Sj/QEiEJtXh6THpGn9j0meiksqQ8609ofLFEGtVv5iFNC0ufUB5hg6PO8N+cew== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm2 header.b=GZZxr8C6; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=L1wmwVJy; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 1.27 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm2 header.b=GZZxr8C6; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=L1wmwVJy; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 9D54045CAA X-Spam-Score: 1.27 X-Migadu-Scanner: scn1.migadu.com X-TUID: GnTokURf+zTS Hi, On 9/16/22 09:15, Daniel Sockwell wrote: > But looking into option 2 (packaging Chrysalis) doesn't seem promising > either. My understanding is that packaging Chrysalis involves listing > its dependencies as `inputs`. And that could be hard. Chrysalis has > ~40 dependencies most of which aren't packaged for Guix. And many of > those dependencies have their own transitive dependencies -- the full > graph seems to include 1,534 programs (for comparison, Guix currently > packages 51 `node-*` programs). Given that I'm fairly new to Guix, I > very much doubt I should be trying to package a bunch of software. > Plus, even if I did, I doubt Guix would want to host an order of > magnitude more Node packages. So, again, I get the sense that going > this route would be fighting against Guix instead of working with it. > > So that's my question. Are one of those approaches correct and I'm > just confused on the details? Or is there some other approach to > installing this GPLv3 software that's the "real" Guix approach? Or is > this sort of multi-dependency JavaScript app just a weak point for > Guix at the moment? > > Thanks in advance for any insights you can provide. > > Best regards, > Daniel > I think Guix would *love* to distribute an order of magnitude more Node packages, if only we could figure out how to do so well. As others have said, using NPM directly is probably the pragmatic thing to do for now. For option 2, though, there is a `wip-node-importer` branch in the Guix repository which I have found useful. There has been discussion on the lists about merging it, most recently, I think, in e.g. and . I continue to think we should merge it! I had several thoughts on improving JavaScript things while working on (be warned it's a massive thread), but I haven't needed to do much JavaScript since, so I'm a little fuzzy on some of the details. I know one idea was that we look closely at PNPM, an alternative to NPM that has a content-addressed store and other features that seem relevant to Guix, and try to implement something similar in Guile, which might also let us unbundle NPM from Node.js. Some pointers along those lines: - https://pnpm.io/symlinked-node-modules-structure - https://pnpm.io/how-peers-are-resolved - https://pnpm.io/blog/2020/05/27/flat-node-modules-is-not-the-only-way - https://medium.com/pnpm/pnpms-strictness-helps-to-avoid-silly-bugs-9a15fb306308 - https://pnpm.io/workspaces -Philip