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 ms0.migadu.com with LMTPS id 6PQiBfQSwWEsaAEAgWs5BA (envelope-from ) for ; Tue, 21 Dec 2021 00:34:12 +0100 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 ME+tAPQSwWGPJQAAbx9fmQ (envelope-from ) for ; Mon, 20 Dec 2021 23:34:12 +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 8A481BF47 for ; Tue, 21 Dec 2021 00:34:11 +0100 (CET) Received: from localhost ([::1]:54586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzSAU-0007dV-Aw for larch@yhetil.org; Mon, 20 Dec 2021 18:34:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzSAM-0007dL-Bw for guix-patches@gnu.org; Mon, 20 Dec 2021 18:34:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:40185) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzSAM-00054g-3m for guix-patches@gnu.org; Mon, 20 Dec 2021 18:34:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mzSAL-000285-Ut for guix-patches@gnu.org; Mon, 20 Dec 2021 18:34:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51838] [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 20 Dec 2021 23:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51838 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Jelle Licht , Liliana Marie Prikler , Timothy Sample Cc: 51838@debbugs.gnu.org, Pierre Langlois Received: via spool by 51838-submit@debbugs.gnu.org id=B51838.16400432078134 (code B ref 51838); Mon, 20 Dec 2021 23:34:01 +0000 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 23:33:27 +0000 Received: from localhost ([127.0.0.1]:51731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzS9n-000278-7P for submit@debbugs.gnu.org; Mon, 20 Dec 2021 18:33:27 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:44575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzS9j-00026p-LK for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 18:33:26 -0500 Received: by mail-ua1-f52.google.com with SMTP id p2so20522505uad.11 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 15:33:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=yCyj6gThuHb0z7sMFcq+V0svNxeO3S1xQeVMVlHYWUo=; b=Vn1dPA3EaYQsev+YYtV/1z9LYhQB02bp3QiN8KInmXTn66moXKatVZAmdHZG1L4TSh VUGj58+cvFbf+B+ZH019HKg729WKwtwpX8Wq7eBhBIQ6B+4Asa+x14HNkMWc1kNs7EGR XTbfO06ml/p8ldKqwxYjAQVLJIjKNbW3bklEJvjVaPjCiCLi8q/EaVpCYp+FZ4U/zegQ /rRG1nUw5Zn9baO9Lnn8J5o3xIl8bQH4RlKEx8jaypxd5Xv7ShR3SJERNuEO7yvwv9Zj BxZApqJ28zfKiNq0gGa/mT48lq5PCtl+kiR2+xbQWdHZJvBbTHiif2HXrYp7dTnvJdgG jxsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=yCyj6gThuHb0z7sMFcq+V0svNxeO3S1xQeVMVlHYWUo=; b=vCgXC9+UfNKieNH2xSWSGlvxMI5rxTKMQoJnV42KISB6hSYmSUglhtt0FzwxVkbyp3 jqouLAOBvNQyPY1Xa3GpKicVV0PgqKfhZ7R/jyOXtKz1NKJ3RvzqF5WtzXMe94Als/fB G7ZVwG9U/IT1oGX5z3iG+YIkJ7eLzXScr+5EExA68s84a+ij3rc4TJpx8yBBDcQjWlTW H+gQNyBReIg2mjuLE42Z1mUek1OjWjGE7Zpo8+pQ6ZQ4AXiPoI+lNOzeXE2s6WnKXDsE +ZjAVegTvhnzO82qwlFM3g1a0oROwdS+a37hx2M9BlVpwXceAADIGW1LTyaqVU6/8y4x +0qA== X-Gm-Message-State: AOAM531nSVh9C/502jvdzv8cn/2u6+OFWfQdePFlngzTDOLU4h+2cDzb O398e7hJ12Sd1aXOekvYCWzCog== X-Google-Smtp-Source: ABdhPJwkFywtRQjEkd4F5CUrI4CzofXOeFizH1cjzTE3B+04Wp8hoeX2kyCgvkgv3LFVbETjCsbfgg== X-Received: by 2002:a05:6102:5093:: with SMTP id bl19mr210860vsb.43.1640043197876; Mon, 20 Dec 2021 15:33:17 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k23sm799088vsm.1.2021.12.20.15.33.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 15:33:17 -0800 (PST) Message-ID: Date: Mon, 20 Dec 2021 18:33:16 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Content-Language: en-US References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <26fb6df72fb076ae16d4799223c326fbac0a49c7.camel@gmail.com> <86fsqmdg8v.fsf@fsfe.org> From: Philip McGrath In-Reply-To: <86fsqmdg8v.fsf@fsfe.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1640043251; 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:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=yCyj6gThuHb0z7sMFcq+V0svNxeO3S1xQeVMVlHYWUo=; b=gYm8Eu9J9NvhPEXZeOfVsMy9HjFslN3fCx8Kx4X97V1nYKy5Ngg+XyvNgtC9Tax+3htN5a 20NcBkJSjmvrzURiY9DkL0nL2KqmecLa381S5DFvkTtjMKxm6bnyBr6W8oYZDIRq+PQ36O N4xT45ZeTTp5Nht04i/LacwsBbx8dwUE76xHbZ4ewL7canlltKAsJYR0NI5FEzKvdPQfvq D+A1tnUi1sQJxFNCS4ipKBOxlRqezoxLUIHSV3NMMtmJWO+hqroK6+FDtjufcCIh+EjrsB W/gsIqcdxcrEqU+xPGZbke1AhXQNzP1u382bmN7QkOJtxtep40urlHkv/Qlb6Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1640043251; a=rsa-sha256; cv=none; b=AeWNzuqnMXfNi+U4Vz5mbZO05iMSqNR80lxktFTnYVdqnxR7oklOQxgbpnkMwNVJFqn7wO Yz1AxouyXTtZmcHKr8tOV98mSDBwoAR76cSo1x3BEUqBiyPtq9ylCMHVi7HJtZInMQcwYX 4H1q2+6bUxOp0LSroKoB/GxUqVxx0grM3DyAor/pSO0Cy+Svci6ScBMy3G2myoRSpne/Ot NvMPwAPYIOyZAIk9EwBkfg/9pL/v3jjhSBug+qfkDx4kKDXW68wRD9a3M4dfnVT2tF0ZRh 52+E58iQJ8Y1F8L9Q74/Imp6Jq1p22ZXUWel/XmJtDkgTNxI5vzlrW34JHwGUw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=Vn1dPA3E; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.52 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=Vn1dPA3E; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8A481BF47 X-Spam-Score: -1.52 X-Migadu-Scanner: scn0.migadu.com X-TUID: zln/WlON5zWN Hi Jelle, Here's a short answer to one specific question: On 12/20/21 18:10, Jelle Licht wrote: > Liliana Marie Prikler writes: >> Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: >>> I can see pros and cons to both approaches. I still like >>> `#:absent-dependencies` better, as I find it less verbose, more >>> declarative, ... trade-offs we probably don't need to rehash further. >>> But it sounds like you see a huge, prohibitive downside to >>> `#:absent-dependencies`, and I am just not managing to see what that >>> is. >> If you want something that's not verbose and declarative, implement >> #:strict? #f. #:absent-dependencies is extremely verbose for what it >> achieves, particularly when we think about the implementation as well. >> > > This would be the equivalent to 'magically' patching out any dependency > that guix can't find. I like it in principle, but how is this > functionally different from the current approach of simply not checking > any node dependencies by deleting the configure phase? Perhaps I > misunderstood something somewhere along the way. One key difference between the proposed `#:strict? #f` and the current status quo of `(delete 'configure)` is that, at least as I've understood the proposal, the patch-dependencies phase would still remove the (implicitly detected) absent dependencies from the "package.json", so the configure phase would be able to run `npm install`. That would fix the problem I described back in (a month ago), and the native packages would successfully build. I think it would be a less good option for the reasons you state, and which I've argued for elsewhere, but it's important to be clear that it would solve the problem building these packages. Actually, in an ideal world, I would agree with Liliana that #:absent-dependencies ought to be out of scope for this patch series. However, the existing solution for the problem of missing dependencies---deleting the configure phase entirely---does not work for packages that need to build native add-ons. So, if I needed to solve the problem for the native add-on packages, I thought I should find a generally-applicable solution that, in my view, is an improvement for the existing packages as well. More soon, Philip