From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: Patches for elpa-admin Date: Tue, 31 May 2022 08:37:39 +0000 Message-ID: <87sfoqgkrw.fsf@posteo.net> References: <874k2x8jhb.fsf@posteo.net> <87czhiddc7.fsf@posteo.net> <87y1yv6rq6.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10452"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ELPA Maintainers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 31 10:41:40 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nvxRa-0002Wo-HJ for ged-emacs-devel@m.gmane-mx.org; Tue, 31 May 2022 10:41:38 +0200 Original-Received: from localhost ([::1]:42236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nvxRZ-0001Uj-Ig for ged-emacs-devel@m.gmane-mx.org; Tue, 31 May 2022 04:41:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40298) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvxNu-0007qH-0B for emacs-devel@gnu.org; Tue, 31 May 2022 04:37:53 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:54765) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvxNr-0008Nk-Ip for emacs-devel@gnu.org; Tue, 31 May 2022 04:37:49 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2DFA1240026 for ; Tue, 31 May 2022 10:37:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1653986262; bh=kDmqRpwZNdyNaWNmOtgXn4zn8yM3ZzLLx4pRuGy397w=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=ddpX1U/zsGd1sqi6b2u6viBDpfTIaqQ3E3m7csuDNDJ/szNxwEA4ubzwA3FAU0nkC RjnqyPCoSrMT/kqbFO3lZECTFZlLxNqEb5+z9rk7xMj1jQ60pUCkdFV0yWQL4LoUL1 D8TKmlU4z3kRQBrZBn4FhZP2PGuVfkVdqUN6yGFecFg2PsHrOqxmJRHaMS318D9DWO aO/3AeYT0SI4ButVzUDaSyud24xkVLQmHya+7gaPeR9hLtu1DX0LCO19AOro9bQzAo BrsbCApOH1YNOc82nsWYjmsSI0MJ8xJSmVt+ZEojVf96+urGLZ87Bfrfyvpu1iVkcC MNPP/nMCJKQ1Q== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4LC5J50PHJz9rxd; Tue, 31 May 2022 10:37:40 +0200 (CEST) Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB In-Reply-To: <87y1yv6rq6.fsf@posteo.net> (Philip Kaludercic's message of "Sat, 21 May 2022 13:38:09 +0200") Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:290395 Archived-At: ping? Philip Kaludercic writes: > Stefan Monnier writes: > >>> I will wait a bit to implement the changes i mentioned. >> >> Looking forward to them, thanks. > > I have been experimenting with buffer-env's recent Guix support, and I > think it supersedes everything I had proposed before: > > From 9179865491899b6863967e0265afc50bf35f1f84 Mon Sep 17 00:00:00 2001 > From: Philip Kaludercic > Date: Sat, 21 May 2022 13:31:24 +0200 > Subject: [PATCH] Add GNU Guix manifest.scm > > --- > manifest.scm | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > create mode 100644 manifest.scm > > diff --git a/manifest.scm b/manifest.scm > new file mode 100644 > index 0000000000..5dfc19941a > --- /dev/null > +++ b/manifest.scm > @@ -0,0 +1,19 @@ > +;; GNU Guix manifest for (Non)GNU ELPA > +;; > +;; This file specifies all the packages that are required for the ELPA > +;; build system to function correctly. You can either use the "guix > +;; shell" command to create an environment with everything prepared. > + > +(specifications->manifest > + (list "bubblewrap" > + "coreutils" > + "emacs-minimal" > + "git" > + "grep" > + "imagemagick" > + "lzip" > + "make" > + "markdown" > + "tar" > + "texinfo")) > + > --=20 > 2.36.1 > > From 6ecb36dbb9c2a87501f4411e29f76f694eca452d Mon Sep 17 00:00:00 2001 > From: Philip Kaludercic > Date: Sat, 21 May 2022 13:32:04 +0200 > Subject: [PATCH] Add GNU Guix manifest.scm > > --- > manifest.scm | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > create mode 100644 manifest.scm > > diff --git a/manifest.scm b/manifest.scm > new file mode 100644 > index 0000000000..5dfc19941a > --- /dev/null > +++ b/manifest.scm > @@ -0,0 +1,19 @@ > +;; GNU Guix manifest for (Non)GNU ELPA > +;; > +;; This file specifies all the packages that are required for the ELPA > +;; build system to function correctly. You can either use the "guix > +;; shell" command to create an environment with everything prepared. > + > +(specifications->manifest > + (list "bubblewrap" > + "coreutils" > + "emacs-minimal" > + "git" > + "grep" > + "imagemagick" > + "lzip" > + "make" > + "markdown" > + "tar" > + "texinfo")) > + > --=20 > 2.36.1 > > > It might also be possible to add this to the elpa-admin branch, and link > it into elpa/nongnu like like the GNUmakefile. > > From b9127e66e956c94ef30b5f3dd2d9a61d9d2c545b Mon Sep 17 00:00:00 2001 > From: Philip Kaludercic > Date: Sat, 21 May 2022 13:29:19 +0200 > Subject: [PATCH 1/2] Bind /gnu directory as a read-only mount when sandbo= xing > > This allows for packages installed and made available using GNU Guix > to be used by bubblewrap. > --- > elpa-admin.el | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/elpa-admin.el b/elpa-admin.el > index d570c3c6aa..a546bb63ba 100644 > --- a/elpa-admin.el > +++ b/elpa-admin.el > @@ -955,7 +955,7 @@ The INFILE and DISPLAY arguments are fixed as nil." > "--tmpfs" "/tmp")) >=20=20 > (defvar elpaa--sandbox-ro-binds > - '("/lib" "/lib64" "/bin" "/usr" "/etc/alternatives" "/etc/emacs")) > + '("/lib" "/lib64" "/bin" "/usr" "/etc/alternatives" "/etc/emacs" "/gnu= ")) >=20=20 > (defun elpaa--call-sandboxed (destination &rest args) > "Like =E2=80=98elpaa--call=E2=80=99 but sandboxed. > --=20 > 2.36.1 > > > With a manifest file, all the packages necessary for the ELPA > build-system to work are provided within the new environment. All that > has to be changed (see last patch) is to tell bubblewrap that the /gnu > directory should be visible, as "guix shell" adds a profile from within > that directory to the PATH. > > I also noticed that there are issues when running "make -B" because > mkdir doesn't want to re-create the "packages" directory. So this > change should be non-controversial: > > From 05edc183b771611e2e028d00bdb1de437a52b504 Mon Sep 17 00:00:00 2001 > From: Philip Kaludercic > Date: Sat, 21 May 2022 13:29:56 +0200 > Subject: [PATCH 2/2] Tolerate if packages/ already exists > > --- > GNUmakefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/GNUmakefile b/GNUmakefile > index a7d078a1a8..b3d2228900 100644 > --- a/GNUmakefile > +++ b/GNUmakefile > @@ -135,7 +135,7 @@ packages/%.elc: packages/%.el > # $(extra_elcs):; rm $@ >=20=20 > packages: > - mkdir $@ > + mkdir -p $@ >=20=20 > include $(PKG_DESCS_MK) > $(PKG_DESCS_MK): elpa-packages packages