From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id WMZQIi7SZWGfhgAAgWs5BA (envelope-from ) for ; Tue, 12 Oct 2021 20:21:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id KLDwHS7SZWEafgAAB5/wlQ (envelope-from ) for ; Tue, 12 Oct 2021 18:21:34 +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 94070E45C for ; Tue, 12 Oct 2021 20:21:33 +0200 (CEST) Received: from localhost ([::1]:60732 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1maMP6-0005ag-Nc for larch@yhetil.org; Tue, 12 Oct 2021 14:21:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1maMOq-0005Z3-Rt for guix-devel@gnu.org; Tue, 12 Oct 2021 14:21:16 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:41187) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1maMOo-00073x-QC for guix-devel@gnu.org; Tue, 12 Oct 2021 14:21:16 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id AE1845C00E7; Tue, 12 Oct 2021 14:21:13 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 12 Oct 2021 14:21:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=+dI07Iskrl5hhbKJyDCX/0z9s10eXaKrI1jVhxads tc=; b=iprWGog72At82tAG+8nPQGVFQX62ExPifjFNnk55B413J4UU1uYInAx3f /fHGzBymcXABjoqUeDQ1Fj2pVUreupY35QOhkjpR9YZDKUZRoHxryIz8WmFUSlZX c0LKkfOWdwIC5A3uJY/UWr1g5itK71UC+++dIP8pcxYIoLW/6MlZHTtE+GyXtyaw Iw9bBunXDysBjQtJPuIIRkqsIZ3x38YrFjZbmwESQxUIgvQ4m0qSWxbCSWUnVgFW kEOEvLgCwP9hJ/zDbuiNjkf2ZbJFHftO2AuMH0/iPofQVAELIH5yXSrSKk3HaQzz YBRFtizBglFi/ai1L5UY07QpP4Mmw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrvddtkedguddvudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufhffjgfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhm ohhthhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtf frrghtthgvrhhnpeeiudeuhfeggeelleevheegudfguefhieekffdtveeilefglefhvddt gfeiheetgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Oct 2021 14:21:13 -0400 (EDT) From: Timothy Sample To: Maxim Cournoyer Subject: Re: Merging the =?utf-8?B?4oCcYmluYXJ54oCd?= NPM importer? References: <87mto8zpll.fsf@airmail.cc> <87zgs3829p.fsf@gnu.org> <87fsttuys3.fsf@dustycloud.org> <877deo473m.fsf@gmail.com> Date: Tue, 12 Oct 2021 14:21:12 -0400 In-Reply-To: <877deo473m.fsf@gmail.com> (Maxim Cournoyer's message of "Thu, 07 Oct 2021 21:51:09 -0400") Message-ID: <87a6jeayuf.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.26; envelope-from=samplet@ngyro.com; helo=out2-smtp.messagingengine.com 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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham 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 Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1634062894; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=+dI07Iskrl5hhbKJyDCX/0z9s10eXaKrI1jVhxadstc=; b=XFd6rwZq3YM2Y8ogR8iBNSTO1AH/3fai08AEVfOn3S1Wv5A5bjdnBg+r/fipO5mSjN5ag5 sJ8vKAWrm+Pne0uLYjK3oxNTLBskiM82E7dgQ7uJxgOF3DCNiHl90BTke+bb83596Rnayl d63+QMYmW3hCqHZRFTZWPD4Tz6KOePzGYnrwcmHGoK9cN69UeAPmKoU8JhTpKCGH9DOra2 zODcYvqbYlTjSXGrL9raN9s3bK7QamFO06M/yNtntIdfAuXUU6r/dfuislta/QWe4atNHF sgiAszjcGI8HlJmGufs10e7QRnDE2zuaHTLCCrjjce1UJJfYmTrUU/ZzNYMKTg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1634062894; a=rsa-sha256; cv=none; b=mtq63jAXrfL6XMpv2k9m+77kDByBVCxqdBMnlnpgUOvnraChE6KDsH6Y3Klb7fu0GfTOH7 30pfzsGaOk5hFbLgdG4U4WimXBIRMbHGBKexqx43aHl038kd0qIOr08Ymy3VzB2kiYHHS6 41Kpom8M8HrMxIO8cSGvp/6xY2R7dNdwJDVf6ZQ/AjzP3qVjSn6mt8QTVe37TSMKxC6ozQ WlH1DP1unZdCayQ/Xj8IM/Pnv8I+FBFP1vgzw2R+YqJZ38K43e9IKr2tvpx7E30ahB7/bj BVqi20xPicHbZWybkWSy9sHiRsZ3XaleZ6j6zYOGi8uYSWA9EftrzhVRfn4UAw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=iprWGog7; 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-Migadu-Spam-Score: -0.42 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=iprWGog7; 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-Migadu-Queue-Id: 94070E45C X-Spam-Score: -0.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: 7epV9dg/hX7E Hi Maxim, Maxim Cournoyer writes: > I'm not too keen on having an importer which produces packages that > can't be included in Guix proper -- it seems a double standard to me. > I'd personally prefer to have such tool maintained outside of Guix > proper. The reason I called it the =E2=80=9CNPM Binary Importer=E2=80=9D was to sca= re people away, because its results are rather limited. Maybe I went too far, though, and people are too scared! :) It=E2=80=99s more accurately the =E2=80=9CHalf-finished NPM Importer=E2=80= =9D. It produces packages that are missing two important parts: the dependencies needed to build the package; and the upstream source code location. Getting the dependencies is quite hard, since NPM doesn=E2=80=99t differentiate bet= ween build tools, testing frameworks, linters, scripts for publishing, etc. This results in a ton of circular dependencies since the publishing scripts use linters, and the linters use build tools, and the build tools use publishing scripts, etc., etc. We would need some sort of block list to get around this (e.g., we should just skip over stuff like ESLint). Getting the source code can be tricky, too. Normally, NPM packages have a =E2=80=9Crepository=E2=80=9D field that points to the sourc= e code repository. However, in some cases, packages use a monorepo setup where many packages are produced from one repository. This complicates the correspondence between source code repositories and NPM packages. What the =E2=80=9Cbinary=E2=80=9D importer does is ignore all the =E2=80=9C= development=E2=80=9D dependencies, use the NPM tarball as the package source, and set the =E2=80=98#:build?=E2=80=99 argument to false. This is a hack to get the ha= lf-finished importer to produce working (even if unpleasant) packages. I write all this to make it clear that the fact the importer produces =E2=80=9Cbinary=E2=80=9D packages is not the result of a =E2=80=9Cwho cares= about free software or source code?=E2=80=9D attitude! :) It just seemed like a reasonable checkpoint between nothing and a Guix-ready NPM importer. I think keeping the half-finished importer alive by including it in Guix might be a good strategy. It might help us work =E2=80=93 collectively =E2= =80=93 towards the goal of providing a clean, freedom respecting collection of JavaScript packages in Guix. Of course, I do respect and understand your concerns. After all, I called it the =E2=80=9Cbinary=E2=80=9D importer to be as scary as possible!= In the end, it=E2=80=99s up to you and the other maintainers =E2=80=93 hopefully my exp= lanations are helpful. -- Tim