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 ms0.migadu.com with LMTPS id 4BD4Ft282GHTSQAAgWs5BA (envelope-from ) for ; Fri, 07 Jan 2022 23:21:17 +0100 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 WITND9282GGhTgEAG6o9tA (envelope-from ) for ; Fri, 07 Jan 2022 23:21:17 +0100 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 A892D3BC4D for ; Fri, 7 Jan 2022 23:21:16 +0100 (CET) Received: from localhost ([::1]:52998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n5xbn-0007jX-Nq for larch@yhetil.org; Fri, 07 Jan 2022 17:21:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49228) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n5xbf-0007j7-Py for guix-patches@gnu.org; Fri, 07 Jan 2022 17:21:07 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:53120) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n5xba-00063Y-Iu for guix-patches@gnu.org; Fri, 07 Jan 2022 17:21:07 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n5xba-0006Dy-90 for guix-patches@gnu.org; Fri, 07 Jan 2022 17:21:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51838] [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 07 Jan 2022 22:21:02 +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 , Timothy Sample Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari Received: via spool by 51838-submit@debbugs.gnu.org id=B51838.164159403723869 (code B ref 51838); Fri, 07 Jan 2022 22:21:02 +0000 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 22:20:37 +0000 Received: from localhost ([127.0.0.1]:46023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xbB-0006Cv-B0 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 17:20:37 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:35789) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xb8-0006Ce-3H for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 17:20:36 -0500 Received: by mail-wm1-f67.google.com with SMTP id 18-20020a05600c22d200b00347d3a13c7cso1191594wmg.0 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 14:20:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=5VbYmXYrPfW1mjJY+ndt6U+iTQ/zkOqP9v21NsIgzi8=; b=TRNbFFm/XkjxJ7JnjUx55HidJVVLSCcXc4cj6ZdNEJSTCxumQBSYbk98heO0qjPBUm OAqZHsleG/c+dibPms2b5+oIMDZ4bDKtuyM9r0vh6iNh1BWGPgyWnB2I1m/Oq8THfGRy zaHI7fMuNsj6k7EkJDdMJzJinIE74oENZZHd72LTShWzLzn/YPTzZyfUGNg3YneLSWnU oInO1KksIgjC8+3WZ2zTQGcM0QBZbGStrBdu6v+Sv4c2egVpB4DZCj7yNfaQvXxmTD7x mihiqdV3HqiNbyHMgtjCc02rEKkDAcb3X35d+m8ZixejuxuoOFjNS1ebCv8xsySgMcpT XWpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=5VbYmXYrPfW1mjJY+ndt6U+iTQ/zkOqP9v21NsIgzi8=; b=Io3y5/Vc+sbX9WGtLfSralLoxZFjaCVK7kVSdquRoVVju2gsb9q9MPxB/vJ9biIyjj NCYV1N//T2awLwpqB2xaCe79J6396zOJvBNH6KudnUthF0n9B1w4FUCRhl5PHY86bQLN n2vYb5Z1JEuDv8yGK9KaYDpcd6nQvoJhAM1GcDX68T2TnHboFI09vQBZUQNJKtFgR+Iv NWEIWksLBEmcg8F9VRx7u7GpgrnrlgfTxM8ZuaUOhmWmSlXQBQNpF4aoudLCKDkJNugD ZGheJ15MAf5d941J7ccs7/RZx2oy3wjZt+m7DwgxnRR4NeXMVq1cCgmtyvqzL1KDEreu s6Rg== X-Gm-Message-State: AOAM530iDwJ3PDTapYyCS2yTL/Jd/QRFRFXLnnauA0qEp0TZUA2h1AE9 nMnH21ZK+BKuFO1T5zIX1qw= X-Google-Smtp-Source: ABdhPJx4t0CpL2wVQLsQz9g+t+Pr5gxIFG/a/6hJKlAJjzJ9CX6bxg+BgA+kX0N7n2geAsv6FFVh9w== X-Received: by 2002:a1c:440a:: with SMTP id r10mr640785wma.5.1641594028218; Fri, 07 Jan 2022 14:20:28 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id o15sm1313450wro.70.2022.01.07.14.20.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 14:20:27 -0800 (PST) Message-ID: <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> From: Liliana Marie Prikler Date: Fri, 07 Jan 2022 23:20:26 +0100 In-Reply-To: <86o84n8dkj.fsf@fsfe.org> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> <86o84n8dkj.fsf@fsfe.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 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=1641594076; 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=5VbYmXYrPfW1mjJY+ndt6U+iTQ/zkOqP9v21NsIgzi8=; b=KlAs1HqRkYPOG2/xbaUd5AMw/GbFDiif2Ex5Q4EZccQO9UsCFJNNRwp+VsFL2ERU6WUPuC Ks0DGE0m2rhy1PqOiyBU79WD6PAWpEGW6FJB72OdRaXLFQQNN+6C54HVwaygWojSUNXNxi JmPAc0UV21D/tROG7/1A7Q4bURNNfm0rYyZdaDU1hueqA9cP0v1SEgXbWb1HqZ/HNfg5Rb IAyQFz8TrugX5rE5EfqfCXVtQ/1NkFvEgMdklbN6+sQ8XtLxyYjPguYcDuUI4w64sMBsHE JksrWwZdcSJdV++NJHqL9blrvCEe307AjzSf7I38EC0YFIID6Mxtc8gQjlOmTw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1641594076; a=rsa-sha256; cv=none; b=j2H8Ykk6hn+ke28DYCyvJqkHzvbYl0LzLRFoS0ePXi9tsNnjGuo/I5Gz/05Wu6ay0CLTjA qbAcEwuypfDDedBRXxlbZ6wFhlC9ZO3nk9G2HWe2qdH1ImLtm4YRajAgikwv2lIo5zjjCT M7T72uEb4MZFE2iMjLPlZJdNI/VfE1V3cqAolsCyH15M9i20NM8q1eRt4FwTW1Y8ibTKzV QuKTUi9U/UFraPESoO0K3HnOXdfBYpDNZEFcj0T86tkWG7xCrSwMFlGRCyeyxSFy8PLt+M +ZSYuO1vdjunKiKOr4uPzqplpstVPYwx7wW7U8zIfUUGI7p7CTP0YzDuGV/ipw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b="TRNbFFm/"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=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: -3.80 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b="TRNbFFm/"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=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: A892D3BC4D X-Spam-Score: -3.80 X-Migadu-Scanner: scn0.migadu.com X-TUID: MU8WFfodX0Mi Am Freitag, dem 07.01.2022 um 22:02 +0100 schrieb Jelle Licht: > To put it another way: a package that has to delete about 50 > dependencies before it can be packaged in guix proper is allowed to > look ugly! It can serve as a very unambigous list of things to > possibly improve in a package, while being easy to review as well if > changes are later proposed (e.g., you see 'node-karma-runner' being > added to inputs, as well as the "karma-runner" string being removed > from the list of dependencies to patch out). With regex you always > need to hunt down if what is actually happening is what was intended > to happen. > > In addition, since the things-that-can-be-matched by the regex w.r.t. > a particular package.json file are already known and clearly > enumerated, the only advantage regex brings us here is brevity. The > biggest advantage of not using regex is that after a later package > update, you can't inadvertently patch out a dependency that was added > by upstream. I'm not sure this is a good argument. Even with a huge ass list (put the hyphen where you want to), upstreams can strengthen and weaken coupling with an update, both incidentally and purposefully. So let's say we decided to delete node-karma for version 0.2.0 of a package and that worked fine until 0.6.5, but it's a requirement in 0.7.0 -- not that we'd run tests or anything, because those require tap -- I don't think either form is particularly helpful and in fact, I'd urge reviewers to take a close look at the package.json before and after regardless form. > Before the DRY brigade comes to take my guix REPL, I'd argue that any > duplication here is incidental. What happens if we want to patch out > "karma" and "karma-chrome-launcher", but for some reason want to keep > "karma-browserify"?[1] Either way, the reviewer has to do a double > take to see whether a change from "karma.*" to the two specifications > "karma-chrome-launcher" and "karma" actually gives the expected > output w.r.t. the package.json file that is being patched. I think node packages do generally follow a pattern here, but let's assume they don't and your example works that way. In that case, I'd argue to make that regexp "karma(-browserify)?". And if later on karma-chrome-launcher is to be added to that list, but karma-icecat is allowed, "karma(-(browserify|chrome-launcher))?" In other words, we can as a community discourage the usage of ".*" without condemning all regexp. Now I'm personally not convinced that disallowing "karma.*" altogether is useful if we don't even have a karma package to go with -- and I'm very sure we'd notice karma being packaged and check our karma dropping packages -- but I'm willing to accept de gustibus here. Cheers