From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id cAI7FgFJsF94ewAA0tVLHw (envelope-from ) for ; Sat, 14 Nov 2020 21:15:45 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id 6CcLEgFJsF9zCAAA1q6Kng (envelope-from ) for ; Sat, 14 Nov 2020 21:15:45 +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 B30799404C2 for ; Sat, 14 Nov 2020 21:15:44 +0000 (UTC) Received: from localhost ([::1]:40420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ke2tb-0002m5-Jp for larch@yhetil.org; Sat, 14 Nov 2020 16:15:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ke2tR-0002jr-Ay for guix-devel@gnu.org; Sat, 14 Nov 2020 16:15:33 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:42775) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ke2tP-0005Th-ER; Sat, 14 Nov 2020 16:15:32 -0500 Received: by mail-wr1-x432.google.com with SMTP id l1so14180117wrb.9; Sat, 14 Nov 2020 13:15:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=2qShZgfzNYsQ9GHE0lR6rJWm65KlghA5y1rZVuUZzRo=; b=MZG3A/8Oe2KmZF/2VvdGhS64TArT7OV1oyg7X1+g3ph/ZF2jqavWIn7QTFUuXJY2Qd XOBBh5V/FxTeQ9qmy+DfqbUWrkSefrzF9PydUPwHYdBKUjmqfCJZSeKW+VEb/9w+Jiev HTVkpdG3eGax7NywBk9VwdeWlEbmwtuF9rXz85s+VVyNQMTAKVaE9SAhUaJF3EnlaPTs HktRRjrzA3+IGY6LX5xzW390h6N9u0F3M3gibGIupI89qqj/z49fZL1AosqIksgXRcx8 njI4dUqA4s1CzAVm+iEosJVgqx7WCHGLfuINdMUQ/Puh5e3OgRljw7s8LdUB8hAEyqEK Lk/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=2qShZgfzNYsQ9GHE0lR6rJWm65KlghA5y1rZVuUZzRo=; b=AUKOhcl+ZZLsTzUIy3QdwBfTMftf5ViMQGoGLUAzd83RbxdGqa+rj8TDETn93bUmgk 7DwjsmaIf1iufNGcsrujn6Hw3YwufPixbLIj14X0JZLJZdncdGUiatk8F/g+e0P6QAPc oBwdaU7BHgjhkhc7nVypr5IqthK+GiUiSUFkjhqqDBCZst7yLEcxWyvtAZc4S17iQdqO +cXIVXAM3as/I5Fny4yfS59uBrFLF3ObPTQsxsBWJuUWGKMTz8kQWhpzcWC8b7F+dywj 5gR9ISm/NZeXJzU05xLpX6S0NlDBn1R52Ra9ZeZE47K6FIP76q5V9pp3pMiTQtfPn0yy jusg== X-Gm-Message-State: AOAM530Hn7u/jvQh4xBJ+/IQookIEDYcKoOi2HmmQA1hx0chi5I6kMa6 DIb6UuI9rWhHFy+bFWvhFRU= X-Google-Smtp-Source: ABdhPJzcUUqDg1CoSak5ZRGx/JVU9d8CCszN9K650EqL6htA1llI94IzqdJo1VcllCRiVaCwFN5E5w== X-Received: by 2002:a5d:42c9:: with SMTP id t9mr10686862wrr.13.1605388529279; Sat, 14 Nov 2020 13:15:29 -0800 (PST) Received: from lili ([88.126.110.68]) by smtp.gmail.com with ESMTPSA id v16sm15315376wml.33.2020.11.14.13.15.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Nov 2020 13:15:28 -0800 (PST) From: zimoun To: Pierre Neidhardt , Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: Reviving Emacs-Guix In-Reply-To: <87zh3jvjfj.fsf@ambrevar.xyz> References: <87ft5dzj2z.fsf@ambrevar.xyz> <87tuttci4z.fsf_-_@gnu.org> <87pn4g8eay.fsf@ambrevar.xyz> <867dqoyu34.fsf@tournier.info> <875z68x73f.fsf@ambrevar.xyz> <86sg9byj07.fsf@gmail.com> <87h7prx2ut.fsf@ambrevar.xyz> <86pn4fye6l.fsf@gmail.com> <87zh3jvjfj.fsf@ambrevar.xyz> Date: Sat, 14 Nov 2020 22:11:36 +0100 Message-ID: <86h7pry77b.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x432.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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, PDS_BTC_ID=0.331, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Development of GNU Guix and the GNU System distribution , Ryan Prior Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=MZG3A/8O; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.71 X-TUID: E0opI0roG8n/ Hi Pierre, On Sat, 14 Nov 2020 at 20:15, Pierre Neidhardt wrote: > Indeed, lots of misunderstandings in here. [...] > Run guix-devel-build-package-definition on a package definition. Indeed, miscommunication here. From my understanding the key point of =E2=80=99guix-devel-build-package-definition=E2=80=99 is to be interactive = at the REPL level. What you mean, I am guessing, is the =C2=AB Build =C2=BB button whi= ch calls =E2=80=99guix-build-package=E2=80=99. This latter function is not reachable by M-x and should be. Another story. :-) I agree that building is an issue because of Geiser. As I previously said and as Ricardo said too, here =E2=80=99guix-eval-in-repl=E2=80=99 coul= d be by-passed.=20 Note that I agree with you and on the Ryan=E2=80=99s comment that sometimes= it is a bit a mess: the Emacs =E2=80=9Cguix-build-package=E2=80=9D function us= es the Scheme function =E2=80=99build-package*=E2=80=99 defined by Emacs-Guix which looks= to me awkward: the nested reads, (with-store store (run-with-store store =E2=80=A6)) simply calling =E2=80=9Cbuild-package=E2=80=9D from Guix proper. Well, again another story. Love is missing. >> On one hand you are saying that Geiser is the issue of Emacs-Guix. You >> raise issue with build (which =E2=80=99guix-popup=E2=80=99 does not do). > > `guix-popup` is only one of the many functions of emacs-guix. I was not > talking about it. About which one are you talking? Except =E2=80=9Cbuild=E2=80=9D that we al= ready discussed above. >> And issues about Geiser proper, compared to SLY or SLIME, and Geiser >> allows to work interactively (*Guix REPL*). > > Misunderstanding: many emacs-guix commands run stuff in the *Guix REPL* > for the user. (E.g. guix-devel-build-package-definition.) > > I was not talking about the user interactive themselves with the > *Guix REPL*. I think that's the confusion ;) That=E2=80=99s a feature as Ludo and Ricardo said. From my opinion too. What=E2=80=99s wrong with the sequence: M-x guix p n emacs-paredit ;; Click on Build button M-x guix-switch-to-repl ;; Fix the issue with ,use(emacs-guix packages) M-x guix p n nyxt ;; Click the Size button And then later, =E2=80=9CM-x guix-switch-to-repl=E2=80=9C and I get: --8<---------------cut here---------------start------------->8--- GNU Guile 3.0.4 Copyright (C) 1995-2020 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,m (emacs-guix) scheme@(emacs-guix)> (build-package* (package-by-id 140548324139648) #:use-= substitutes? #t #:dry-run? #t) ;;; :5:16: warning: possibly unbound variable `package-by-id' ice-9/boot-9.scm:1669:16: In procedure raise-exception: error: package-by-id: unbound variable Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(emacs-guix) [1]> ,q scheme@(emacs-guix)> ,use(emacs-guix packages) scheme@(emacs-guix)> (build-package* (package-by-id 140548324139648) #:use-= substitutes? #t #:dry-run? #t) /gnu/store/1wb8yinahw2xqmf8cksg6kmrmapxjl6l-emacs-paredit-24 $4 =3D #t scheme@(emacs-guix)> (guix-command "size" "emacs-paredit@24") store item total s= elf /gnu/store/1wb8yinahw2xqmf8cksg6kmrmapxjl6l-emacs-paredit-24 0.2 = 0.2 100.0% total: 0.2 MiB $5 =3D #t scheme@(emacs-guix)> (guix-command "size" "nyxt@2-pre-release-3") store item total s= elf /gnu/store/118xpdazyylxa1rlc68h9lmh38vhxrb4-llvm-10.0.0 210.8 = 139.3 9.8% /gnu/store/1qmd9achfkm1njzxf8hi86q53pmy9sxk-mesa-20.0.7 369.2 = 131.3 9.2% /gnu/store/pk2802k343mcy0wy9g9spf4l8lv2a099-nyxt-2-pre-release-3 1426.1 = 123.4 8.7% /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0 178.5 = 107.3 7.5% /gnu/store/pw5z61sdvclw9v1bprylsqrjf2m1f941-webkitgtk-2.30.1 964.6 = 102.9 7.2% [...] /gnu/store/3zdvikziccm9adhvvynddj2ar336bxq7-cl-trivial-file-size-0.0.0-0.1c= 1d672 0.0 0.0 0.0% /gnu/store/7hvl7cwhjk1anwpwjh9wh7n29799yi7m-cl-trivial-macroexpand-all-0.0.= 0-0.933270a 0.0 0.0 0.0% total: 1426.1 MiB $6 =3D #t scheme@(emacs-guix)> --8<---------------cut here---------------end--------------->8--- > To be more explicit, the "build packages passed as argument" could be > implemented by popping up a shell buffer and automatically executing > > --8<---------------cut here---------------start------------->8--- > $ guix install package-1 package-2... > --8<---------------cut here---------------end--------------->8--- > > in it. In short, use `M-x shell` or equivalent instead of Geiser. Ok, but that the same story as =E2=80=99build=E2=80=99. Right? >>> emacs-guix never relies on persistence if I'm not mistaken. >> >> M-x guix-switch-to-repl > > This is not persistence that's needed for the emacs-guix commands. Wait, you said =C2=AB emacs-guix never relies on persistence if I'm not mistaken. =C2=BB which is wrong because everything is sent to *Guix REPL* (Geiser) reachable with =E2=80=9CM-x guix-switch-to-repl=E2=80=9C as shown = above. > The commands to list generations, package info, etc. do no need > persistence. That=E2=80=99s another story. Maybe you have right and some actions of Emacs-Guix should run differently than with =E2=80=98guix-eval-in-repl=E2= =80=99. >>> My suggestion indeed lacks persistence, but at least it works for now >>> until we figure out something better. >> >> Now you convinced me that Emacs-Guix needs love. Well the =E2=80=9Cit w= orks=E2=80=9D in >> =C2=AB at least it works for now =C2=BB is meaningless for me > > Why? A program that works is meaningful I believe. Which program are you talking about? >> so instead I am going to report what Emacs-Guix fails and what I would >> like to have. It will be more fruitful. ;-) > > I've reported some of the issues, and I've concluded that some of them > would be resolved by not using Geiser to talk to Guix. Maybe. It should be addressed action by action. Instead of thrashing Geiser. IMHO. > Build a package does not work in Emacs Guix, and this is what I want > to fix, among other things. I got it about the build and install parts. :-D What are the =C2=AB among other things =C2=BB? All the best, simon