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 0GAbO66HyWMvdQAAbAwnHQ (envelope-from ) for ; Thu, 19 Jan 2023 19:10:55 +0100 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 QFz2Oq6HyWN+NgAAauVa8A (envelope-from ) for ; Thu, 19 Jan 2023 19:10:54 +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 B1930DAA0 for ; Thu, 19 Jan 2023 19:10:54 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pIZMq-0005ST-2K; Thu, 19 Jan 2023 13:10:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIZMn-0005SK-Hx for guix-devel@gnu.org; Thu, 19 Jan 2023 13:10:25 -0500 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pIZMl-0003Gw-3r; Thu, 19 Jan 2023 13:10:25 -0500 Received: by mail-ed1-x543.google.com with SMTP id 18so3891533edw.7; Thu, 19 Jan 2023 10:10:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=9X0r4cYv16JrTrTKmnb2DtXa1aStrEiUY1gwfQ33pkE=; b=f6xethTbZ+SeBUJBnzI1onr+qTLv2P1ym/U1robfUQ3BlkJybkX7WqleU+zi05eY9u OWhDAgmzQMbfZrwpDGKdW9t0/lPXL6ipt9x7oCXjVJINxVEYpCvngkgrmzCsvCCZkOlA cDfMwt077zsyGbeoe2qlv504ThZQ6UWcWQn7rjUkyG0a7NdVzeGwXDXeBOQHHHtqg1fT e3nDYsfoME5GNKDAUWOeE56JBVQwoQx0JaQJysegJNFT6pxkFhY5l1M8E+0alabUEU9+ E6+7fmoYfzTfR5omiibYUIZhyXVbv5XZcrqlBI3X7pnZUC7ud6IBLxoYyUp2a97QPgw9 87Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=9X0r4cYv16JrTrTKmnb2DtXa1aStrEiUY1gwfQ33pkE=; b=Ab4h4JkCgKHvRhpvLvQwX7SQ973zLuRQk8aLT3i92+PTn9SFwYl5sKnD635Hp+7vX/ 0yfxp1kPehIxQeeRP4sVCt4suCRixzU7KwNBTgaoko3DuZApS9M2z0vXWH0TiOASaX2j WTzXSleFXHMpyAFebhI/vMzm+iInKNQSpWjasMJKoCk+unJjjI+NV3U3jgd5Q2PhRaJC vBZZs3uCUuafnObJqkPfO01+BFTzaJ6kRvaRrzMeqdwzg7/tCqfScS5zynFdAnBi7o6l lgEe9XNyPyTyEmWDBUpcXAdsxWIPnSuE0PHDUHaB8ZyaYyFEGdR2hSpM425MtFGhiyPm A2fw== X-Gm-Message-State: AFqh2kqpK2lLd7XxR4+LBVKOiBVVStURl+IeoSz4GumQ8I/a3AN5Ef5m XRwTsAn0vCHnSz8HHeQLO3jXiBiKGHA= X-Google-Smtp-Source: AMrXdXuDw/huaGsSzJmHrxNzMdSZ0Mx6DWMqxTPNpOQfTLF+oFUSXd2twIcUTBXxdCkeBmPiUS2++Q== X-Received: by 2002:aa7:d7d9:0:b0:49e:7791:a734 with SMTP id e25-20020aa7d7d9000000b0049e7791a734mr1536342eds.35.1674151819733; Thu, 19 Jan 2023 10:10:19 -0800 (PST) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id d2-20020a056402000200b0049e09105705sm6307503edu.62.2023.01.19.10.10.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jan 2023 10:10:19 -0800 (PST) Message-ID: <1cdc35b9ee9f85bc89ef698f820647e501951aea.camel@gmail.com> Subject: Re: Grandfathering store paths considered harmful From: Liliana Marie Prikler To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Cc: zimoun , "pelzflorian (Florian Pelz)" , guix-devel@gnu.org Date: Thu, 19 Jan 2023 19:10:17 +0100 In-Reply-To: <87r0vqbnu9.fsf@gnu.org> References: <87tu0s7otg.fsf@inria.fr> <87fscbravp.fsf@pelzflorian.de> <87a62hdt6c.fsf@gnu.org> <867cxk224j.fsf@gmail.com> <861qns202s.fsf@gmail.com> <87r0vqbnu9.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::543; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x543.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org 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=1674151854; 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=9X0r4cYv16JrTrTKmnb2DtXa1aStrEiUY1gwfQ33pkE=; b=t7uKrhqXeF1PR1PKvZoBJazNoQxTFF0EctmpZBbcyEottdSzckQ+tw8f6n+bRiUOqozAH9 jhDXkBkGqys4kHHP9L6ESzlfVp7sauCcdbTKh0m1UKh3XGy/eL3XMTRmTv6k1n4qTf8Me6 xXYpKPiIhP7f2giA7wrabc0JPcY12t8YHajFb7OrkbKBlDKKq1VoUcnI3iKKVI9nELHkEl IEllbbJ7t60caLG0YUFxZeQhtkMwMDl33kLKklsEJ7zx9QnGpGP1Ep6bR+U4CfAJxdWgad Bz/ONnwgiwWgxnSFBTza7ypJCOz50uNIcZmu9bPQ4JUL4BMvq2nv/atmggX3/Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=f6xethTb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674151854; a=rsa-sha256; cv=none; b=u0XoAIVykVAtx0/wkJP7WefNeheG2bHkrruJyJVOqHzmi9nF8R3kN2DQioEiixawpdMmmD kudTUi8BvG94T1mPIKXRRUGHU63/fPQP/3ULXgV3v6ujEchTJS4ea53fNl4uAhnV+GqcGH M8cgj0uj1rYcXfDQJMPc49tyuae3A7CvgqvHqlgYKBW3Pj8TRsXBSc6hp0hpx0As98XVWH qRRj5UtpONbbjsfv/sI+Z+coq4XeNzZuzmGHOZqf1qdtHBkMAOcLuKCiwqjsblpwTiDSRI GZSgEd8soaj91pWw4kz5N8f1nAkdU9/JUoWuCOf8lzzkNaeaCGbCAhyjDDSKMw== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -4.79 X-Spam-Score: -4.79 X-Migadu-Queue-Id: B1930DAA0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=f6xethTb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-TUID: NTaqvFgKn+5t Am Donnerstag, dem 19.01.2023 um 15:28 +0100 schrieb Ludovic Court=C3=A8s: > Hi Liliana, >=20 > Liliana Marie Prikler skribis: >=20 > > For context, emacs uses a hash digest to more or less uniquely > > fingerprint the version (much like guix does), so natively > > compiling things with emacs-minimal won't speed up your packages > > when using emacs or emacs-next and is thus next to pointless. >=20 > If emacs-minimal lacks JIT support anyway, there=E2=80=99s nothing it can > compile?=C2=A0 Or am I missing something? >=20 > (It=E2=80=99s called =E2=80=9CJIT=E2=80=9D but we keep talking about thin= gs that need to be > done ahead-of-time, this is confusing.=C2=A0 :-)) You can still do bytecode compilation, but no native code compilation. And yes, the JIT vs. AOT distinction in Emacs is very annoying.=20 Basically, we want to compile packages to native code ahead of time using libgccjit baked into Emacs. > > I witnessed the same type of bug in wpewebkit, which pulls in the > > much larger webkitgtk, probably because the former uses #$output > > rather than (assoc-ref outputs "out") in one of its phases =E2=80=93 se= e > > the attached patch for my proposed fix. >=20 > I believe the attached patch has no effect.=C2=A0 #$output expands to > (getenv "out"), where "out" is an automatic environment variable of > the derivation. Hmm, you're right, turns out I was mistaken. =20 > > If my hunch is correct, this has some further reaching > > implications. It means, that uses of #$output and #$(this-package- > > input) =E2=80=93 which we want to promote instead of labels =E2=80=93 d= raw in > > additional inputs when combined with inheritance, which in the > > context of this thread I hope we can all agree is not good. >=20 > =E2=80=98this-package-input=E2=80=99 is different from #$output because i= t=E2=80=99s a purely > host-side feature.=C2=A0 It refers to inputs of the package in which it > appears; thus, if you define a package B that inherits from A, and > the =E2=80=98arguments=E2=80=99 of A contain (this-package-input "whateve= r"), that is > fine: B=E2=80=99s =E2=80=98arguments=E2=80=99 will refer to its own =E2= =80=9Cwhatever=E2=80=9D=C2=B9. This doesn't appear to always work, though, see bug#60831. emacs- minimal should really have raised an error due to missing libgccjit, but didn't. > Now, independent of that, it=E2=80=99s easy to make mistakes when using > inheritance heavily.=C2=A0 The only good solution to that IMO is to avoid > factorizing too much.=C2=A0 That is, in some cases, it may be more robust > to be explicit in inherited packages=E2=80=94e.g., explicitly providing > =E2=80=98inputs=E2=80=99 and =E2=80=98arguments=E2=80=99 fields=E2=80=94t= han to inherit all the fields from > some distant parent package. That does defeat the purposes of inheritance however. Plus note, how our inheritance trees are usually rather small, with one or two levels at most. (But of course it also affects the big compiler bootstraps with 50 levels.) Cheers