From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.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 KPpoAZ2MJGNq0gAAbAwnHQ (envelope-from ) for ; Fri, 16 Sep 2022 16:47:57 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id qJ5YAZ2MJGO2KAEAauVa8A (envelope-from ) for ; Fri, 16 Sep 2022 16:47:57 +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 6965936A8F for ; Fri, 16 Sep 2022 16:47:56 +0200 (CEST) Received: from localhost ([::1]:55864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oZCdH-0003xJ-F1 for larch@yhetil.org; Fri, 16 Sep 2022 10:47:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZBCJ-0006dc-MH for help-guix@gnu.org; Fri, 16 Sep 2022 09:16:00 -0400 Received: from out2.migadu.com ([2001:41d0:2:aacc::]:31107) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZBCH-0004kf-5w for help-guix@gnu.org; Fri, 16 Sep 2022 09:15:59 -0400 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codesections.com; s=key1; t=1663334146; h=from:from: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; bh=X7lR3fKue3vAUcLOuwH2y9g2Fh7+9ERx3Z3CnlmJOCg=; b=NsbSbAzrzQE7FsZqBKEpJbvD2Y7ESAN1cbY6zxFiUKgxH9RtyFckFZuP+x6F84zD9+mrGq XDCdnfOr7Kr+Xo6lUuB5HyMCj1IGmvxM4askfk7VuC5So6z3UZGcieaJmYgIou5eDnLj/Y h4mbw8C+tHADnKrJ0M3SqZa39HLBRsjBnPa4hIZYG1zHe/YqaNIUl33dwC5FdfU731/vjR 3IyS2Dhk5sUvtu4lprQPF7ZVqgg1MHUcMfihlnaFv8Ij70SkU7tt9RWEEiKpCHaXSkQx7O ZGRarmZ9kefupgL7pRmxMno6+aWZAVlWKI0T776Klv3a6Go8Sri3H0b0FIPZeA== Date: Fri, 16 Sep 2022 13:15:46 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: "Daniel Sockwell" Message-ID: Subject: Understanding the Guix approach when language package managers are around To: help-guix@gnu.org Received-SPF: pass client-ip=2001:41d0:2:aacc::; envelope-from=daniel@codesections.com; helo=out2.migadu.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 16 Sep 2022 10:47:23 -0400 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=1663339676; 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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=X7lR3fKue3vAUcLOuwH2y9g2Fh7+9ERx3Z3CnlmJOCg=; b=mcaKqX9SGXWS+uBWu+EQl6PvptYZp+AQ6nzBcDNxjUG4x5Za3upeVOOwjahOWes5ToXo6x ipy9PRWj06qTB8zgqvILfk1DScSF0Z7Hm/DD57ClqGTyjpbUFxHXuR5dlxF9SBvFtZ0vsj a3OfDEuhiEqteotvsRlnnMpfybyvdg8clT4sX8nxjKnOWmsz9UMNIxOM4JblFnj9tH11OU lP8gqGqfcvx6DMA4ZYRs7nHs2gldDtGZbKb+R1vKN92FaUdop+vNtaqJUyVUaa+a0BLPhK qWyy9E+pobtLoOLpx0aze6DRfeGfuNLo37kPbeJC+YX+dXfwvCEEMzqP6Z4/dg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1663339676; a=rsa-sha256; cv=none; b=p2qPI2nZNWqzFtMnPe3ooT2skwkjn5BP+AehlrCzn+0p5ofOBQ/XtBbk0tPP7I0oFqh8FM fNxOI63AX5dc3HvY4PgyB8KhT24/Bq8N55csN0TsokB53Fnsfw9/YLGFWQgoqaSMeFqbwu DTNLXw5dc3X1ygKuZsg8zC2wg+ben5N/LnP8J3UuHC3EROOzQk4z82dyfxQWTcX9eg6KRq FiNpy8I/Fm4ybSKg0Ta8VSwOyXz17350eRhsbkTj1LGwe7OM+9WiGQI9Xq5jskdjR0LrqI m2vIrQAG5SbNSvpcBvTEAGq4S9U0kFfS08VwjhCOTiiaVCuMJjAe17RH4d1VbQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=codesections.com header.s=key1 header.b=NsbSbAzr; dmarc=pass (policy=quarantine) header.from=codesections.com; 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: -2.33 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=codesections.com header.s=key1 header.b=NsbSbAzr; dmarc=pass (policy=quarantine) header.from=codesections.com; 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: 6965936A8F X-Spam-Score: -2.33 X-Migadu-Scanner: scn1.migadu.com X-TUID: wJouF+7Hua4H Hi all,=0A=0A(I also asked this question in r/guix; sorry if you're seein= g it=0Atwice.)=0A=0AI'm trying to understand how Guix "wants" me to insta= ll software=0Athat's in language package managers, such as npm, Leiningen= , etc.=0AMy current approach to installing some non-packages software=0Ag= ives me the feeling that I'm fighting against Guix -- usually a=0Aclear s= ign that I'm missing something.=0A=0AHere's a specific example (though no= te that I'm asking about overall=0Aapproaches; I'm not currently seeking = help debugging this specific=0Ainstall). I use a keyboard with open-sour= ce firmware and would like=0Ato install the configuration utility, Chrysa= lis=0A(https://github.com/keyboardio/Chrysalis) for that firmware.=0A=0AM= y first step, of course, was to check if Guix packages Chrysalis=0A(it's = licensed under GPLv3, so we could); but we don't package it.=0AFrom the p= roject `README`, I see that Chrysalis is distributed as an=0AAppImage, so= on any other distro I'd use that. However, I know that=0AAppImages don'= t cooperate well with Guix, so that's out. The `README`=0Aalso shows tha= t Chrysalis is a JavaScript program (actually an=0AElectron app), so the = normal/non-Guix installation would be to run=0A`npm install` and go from = there.=0A=0AI can think of two ways to proceed:=0A=0A 1. Install Node/np= m and attempt to install Chrysalis just like I=0A would on any other dis= tro=0A=0A 2. Attempt to package Chrysalis via Guix (probably using the= =0A `node-build-system`) and then install it normally=0A=0ABut both of t= hese approaches give me the feeling that I'm Doing It=0AWrong=E2=84=A2. = With the first, I immediately hit errors about libraries not=0Abeing wher= e Node expected. I might be able to work around those (a=0Aguide on the = mailing list seems promising=0Ahttps://lists.gnu.org/archive/html/help-gu= ix/2018-06/msg00052.html).=0ABut, even if I did, I'd be left with a packa= ge that is entirely=0Aoutside Guix's functional model -- which seems like= a hint that this=0Aisn't the Guix approach.=0A=0ABut looking into option= 2 (packaging Chrysalis) doesn't seem promising=0Aeither. My understandi= ng is that packaging Chrysalis involves listing=0Aits dependencies as `in= puts`. And that could be hard. Chrysalis has=0A~40 dependencies most of = which aren't packaged for Guix. And many of=0Athose dependencies have th= eir own transitive dependencies -- the full=0Agraph seems to include 1,53= 4 programs (for comparison, Guix currently=0Apackages 51 `node-*` program= s). Given that I'm fairly new to Guix, I=0Avery much doubt I should be t= rying to package a bunch of software.=0APlus, even if I did, I doubt Guix= would want to host an order of=0Amagnitude more Node packages. So, agai= n, I get the sense that going=0Athis route would be fighting against Guix= instead of working with it.=0A=0ASo that's my question. Are one of thos= e approaches correct and I'm=0Ajust confused on the details? Or is there= some other approach to=0Ainstalling this GPLv3 software that's the "real= " Guix approach? Or is=0Athis sort of multi-dependency JavaScript app ju= st a weak point for=0AGuix at the moment?=0A=0AThanks in advance for any = insights you can provide.=0A=0ABest regards,=0ADaniel=0A=0A--=0ADaniel So= ckwell / codesections=0Awebsite: www.codesections.com