From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id qC2XC6rH2GFvlwAAgWs5BA (envelope-from ) for ; Sat, 08 Jan 2022 00:07:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id MOg9BKrH2GHmFgAAG6o9tA (envelope-from ) for ; Sat, 08 Jan 2022 00:07:22 +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 4F7812BB3C for ; Sat, 8 Jan 2022 00:07:21 +0100 (CET) Received: from localhost ([::1]:44112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n5yKO-0004hE-3N for larch@yhetil.org; Fri, 07 Jan 2022 18:07:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n5yK6-0004h4-6r for guix-patches@gnu.org; Fri, 07 Jan 2022 18:07:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:53141) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n5yK5-0003zb-UW for guix-patches@gnu.org; Fri, 07 Jan 2022 18:07:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n5yK5-0007X2-NH for guix-patches@gnu.org; Fri, 07 Jan 2022 18:07:01 -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 23:07: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: Philip McGrath , Timothy Sample Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Leo Famulari Received: via spool by 51838-submit@debbugs.gnu.org id=B51838.164159678628901 (code B ref 51838); Fri, 07 Jan 2022 23:07:01 +0000 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 23:06:26 +0000 Received: from localhost ([127.0.0.1]:46044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yJW-0007W4-0e for submit@debbugs.gnu.org; Fri, 07 Jan 2022 18:06:26 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:36476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yJU-0007Vo-Lk for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 18:06:25 -0500 Received: by mail-wr1-f65.google.com with SMTP id r10so6113129wrc.3 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 15:06:24 -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=m+kz0kVGzQY2Q/GLuukuuUwRgMP0lqAbkepMcj7wlqo=; b=FoIPgWN9cSTGwIWfJ/Qx8Ss/cLUWCH2GE6NGaIdT4M60IJBAYzAsIP/Y5SQFqmBAac KeQaXgH6En+ISMTH7m0FV+rfHGb5ORYYgudubLgh2tPO9AtcmLTDc1Yy2IuaDJO+aDgS TmRUX3HcXmzJyXRLA4hXW9KqFKf6cORaczip6Z9Hon7cYqG6Bn4Fqw7tOmBt0qEfUea0 D1d24gTTOza53JxZ6XF4uXc47n63iUE7zUo5QUPjT82nV8iU+g4f1kw9V2ciZjfu+vBr qvg4+4haIzJr+TZQC/gSli1Y2/NEoAQLdl9hPbqI25qrCGa3i8iArv3HYFRAhxKbJgeG 98DQ== 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=m+kz0kVGzQY2Q/GLuukuuUwRgMP0lqAbkepMcj7wlqo=; b=N5paoOtHIo61/mBQOlKy3WA5L2LucLz5vTjcS9wPzuL/S6KsFFBvHHXwAT+JbkgMDj yms9ijnapEex9Pe9sp1/AqaCbQhG8dwvrGUVdv6B/ooHbqbAfG+fR/dvAfsClFeqJ/p5 lakcGRxexubtUg1jgdbIh1lGD4dJHzO1bU2+o09zctbLNh2A+6826bUOgokFnWdZ10UO C/VaG6M3+tbQtr/yeiI5WyyiiZD+CJU+vIYmPPfbwqfBgePmCwX7kFxqmRQl+t8OZnt3 ys4cg0WK7rWbsAo5G73sYxZyjH1mHAf417DdczAH28yqGi5yav3n6nPTaz/q46r6QK03 doog== X-Gm-Message-State: AOAM530iWXqyxMozGvS/SwCFnrCz+d0uWSs1b4Xpz3DUCWo1uAyYMAu/ U9W2T0FE+bA7Cz2DHFFFKck= X-Google-Smtp-Source: ABdhPJyeAb7g6pbkAQbcGVsg7pOfh2iXHujP7DvM3y0oaF8VOVorUP4qz+5xldmj1FLxcvEsB3Y5jA== X-Received: by 2002:a5d:6d8c:: with SMTP id l12mr55385518wrs.55.1641596778904; Fri, 07 Jan 2022 15:06:18 -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 r17sm31931wrj.94.2022.01.07.15.06.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 15:06:18 -0800 (PST) Message-ID: <8da3f9ca812f490c43fce423ce273a12da02041f.camel@gmail.com> From: Liliana Marie Prikler Date: Sat, 08 Jan 2022 00:06:17 +0100 In-Reply-To: References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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=1641596841; 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=m+kz0kVGzQY2Q/GLuukuuUwRgMP0lqAbkepMcj7wlqo=; b=EGsnUP5aOqVv2RML8ZsHtJkNdKB8BnFDyGzxF76wdNisU7nP05fJ7hsBmB+VLBONvW6JCq Kqk2bdEgjUdNYM6O8vUqNbHk8ekfWALzHb6P95Xj1EqjObRecF3E2C/FnelHwXLrra4DXO 5ZFCfAVDJCd6OaGAxUeRB+dDTfy7g3nCWP7KS0evYP+POi4SU8kPlZ8sN2oDiyxdPMuXyA 1bZNpwaVLMwCeZKapSkONqkb8P24TP1mRI10UrZhwSjvATe1Yeiu0n7aHy1pHyBQniuNA0 /nGRlG6uGLE5l4xwZ2xfAWLHJZMKRcs2Y2G5NOHLTHFxd0GScZrukrJjbDeSHQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1641596841; a=rsa-sha256; cv=none; b=jaI5mUUr0wB2VQRUtCbY0Ol0sV45Tvs3FJbdms8cTYs9T7WtnVQL6l3XGuxscqjfVZ6a3k zssxFPbZHCkPJAWKygAFlfjTqfh8hTuM4VYsPMuKshyPsHbX3SkmG9qqy53Zrc8lChgwy4 bE82d+hUzQFIHUb3dni/K5vQvDJR03Pteh+e/jCnkaI/VkhyxRK5oweBuFgfgvNh4cCN3O A7J6sFtOX80YRZgLxy4FTqq7b3aDgVP2DxJqpeyR33eQKBLHZvAgNkUSPsJinWzfsGTyNE Sq/rWF5HANk8Mt4h3i5B4Nt6iDY2CKBn1mvNmuAGdqIzmkbrPmZrG3pJ2rIcLw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=FoIPgWN9; 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: -2.00 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=FoIPgWN9; 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: 4F7812BB3C X-Spam-Score: -2.00 X-Migadu-Scanner: scn1.migadu.com X-TUID: c/fpYajgYk4b Hi, Am Freitag, dem 07.01.2022 um 16:07 -0500 schrieb Philip McGrath: > My base position is that regexps should not be mandatory or default. > It was very convenient to be able to just copy--paste package names > from "package.json" into '#:absent-dependencies' (or whatever). I can > imagine it being useful for tooling, too, to be able to find just > from the package definition the dependencies which are being deleted, > rather than having to either download the origins or try to > reconstruct names from regexps. I don't think tooling should be too big of an issue, since you could teach your tool to support regexp. I.e. instead of checking whether a newly added package has the name, you check whether it fits the pattern. That might generate false positive in some cases, perhaps even many, but we can (and should) refine regexps that are too generic. > Alternatively, I would also be ok with [...] a slight variant on it > in which the user would write: > >      `("foo" "bar" ,(make-regexp "baz")) > > Since this (either variant) would not change the interpretation of > strings in the list of dependencies to delete, it could also be added > later without breaking compatibility. That's true, but the main reason to add it from my perspective is that we don't need to change how regexps are interpreted from the rest of Guix to make basic strings match fully. For the fun of it, we could also extend this to procedures of a single value so that one can finally supply (const #t) :D > I also think full string matches are better, regardless of any of the > above. Here's an implementation that avoids unneeded copies and > string comparison: > >      (define (regexp-match-exact? rx str) >        (define m (regexp-exec rx str)) >        (and m >             (= (match:start m) 0) >             (= (match:end m) (string-length str)))) I can't say this is more beautiful than  (equal? (and=> (regexp-exec rx str) match:substring) str), but there's only that many ways of making a partial match a full one and Guile core has none of them...