unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: Tim Gesthuizen <tim.gesthuizen@yahoo.de>, 33598@debbugs.gnu.org
Subject: [bug#33598] Optimizations for emacs-clang-format and emacs-clang-rename
Date: Tue, 08 Jan 2019 10:53:50 +0100	[thread overview]
Message-ID: <87k1jfzd8x.fsf@gnu.org> (raw)
In-Reply-To: <87wonf5yd7.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Tue, 08 Jan 2019 09:48:04 +0100")

Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> The benefit of separate Emacs packages is if the Emacs library can be used
> without installing the parent package to the user profile.
>
> For instance, emacs-clang-rename can be installed and it will work while the
> user does not have to install clang.  (Clang remains an input, obviously.)
>
> For this reason, "package-elisp-from-package" gives maximal flexibility in my
> opinion.

Yes, I agree that it makes a lot of sense for ‘emacs-clang-rename’ for
instance.  I’m just unsure whether the approach generalize to other
packages.

> Currently, there are a few more packages.  We can look up "emacs-build-system"
> outside emacs.scm to find them (e.g. agda2).
>
> Off the top of my head, there is also asymptote.

I’m not convinced sure ‘emacs-agda2-mode’ and ‘asymptote’ need to be
changed; it doesn’t look like a clear win, dunno.

For example, ‘package-elisp-from-package’ preserves the name, synopsis,
and description, so you end up having to do:

  (define foo
    (package
      (inherit (package-elisp-from-package x))
      (name "emacs-foo")
      (license …)
      (synopsis …)
      (description …)))

… which I think it a marginal improvement compared to
‘emacs-agda2-mode’.  Also, the “find *.el” approach may not work out of
the box for all cases, so the procedure may need to be tweaked further,
etc.

> Now to the ideal place for package-elisp-from-package: it seems that no existing
> file would be a fit.  So what about guix/utils/emacs.scm?  Having a separate
> file would make sure we run into other meta-circular dependency issues.

Circular, not meta-circular.  ;-)

So yeah, (guix utils emacs) is one option; another one would be to trim
the list of modules emacs.scm depends on, such that we don’t have this
issue in the first place (that requires care, though.)

However, my suggestion would be to use ‘package-elisp-from-package’ as
Tim intended in the original patch, keeping the procedure private to
llvm.scm, and generalize if and when we see other use cases.

How does that sound?

Ludo’.

  reply	other threads:[~2019-01-08  9:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-03 13:47 [bug#33598] Optimizations for emacs-clang-format and emacs-clang-rename Tim Gesthuizen
2018-12-13 22:49 ` Ludovic Courtès
2018-12-14  9:23   ` Pierre Neidhardt
2018-12-14 10:06     ` Tim Gesthuizen
2018-12-14 10:31       ` Pierre Neidhardt
2018-12-14 11:00         ` Tim Gesthuizen
2018-12-14 12:09           ` Pierre Neidhardt
2018-12-14 12:12             ` Tim Gesthuizen
2018-12-19 17:47             ` Tim Gesthuizen
2018-12-19 17:50               ` Pierre Neidhardt
2019-01-04 22:00                 ` Tim Gesthuizen
2019-01-06 19:00                   ` Pierre Neidhardt
2019-01-06 21:29                     ` Tim Gesthuizen
2019-01-07 13:47                       ` Pierre Neidhardt
2019-01-07 14:00                         ` Pierre Neidhardt
2019-01-07 14:08                           ` Pierre Neidhardt
2019-01-07 22:10                             ` Ludovic Courtès
2019-01-07 22:14                               ` Pierre Neidhardt
2019-01-08  8:39                                 ` Ludovic Courtès
2019-01-08  8:48                                   ` Pierre Neidhardt
2019-01-08  9:53                                     ` Ludovic Courtès [this message]
2019-01-08 10:05                                       ` Pierre Neidhardt
2019-01-08 15:35                                         ` Tim Gesthuizen
2019-01-10 18:28                                         ` Tim Gesthuizen
2019-01-10 18:40                                           ` Pierre Neidhardt
2019-01-10 18:47                                             ` Tim Gesthuizen
2019-01-10 18:50                                               ` Pierre Neidhardt
2019-01-07 15:37                         ` Tim Gesthuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k1jfzd8x.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=33598@debbugs.gnu.org \
    --cc=mail@ambrevar.xyz \
    --cc=tim.gesthuizen@yahoo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).