emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PL support


From: Sébastien Gendre
Subject: Re: PL support
Date: Tue, 12 May 2020 18:06:06 +0200
User-agent: Evolution 3.36.2 (3.36.2-1.fc32)

The initial problematic that the suggestion of `external-tools.el`
wanted to solve is how to install external tools, used by some Elisp
code (whether this code is included in Emacs or as an package), while
being easy to use to user and developer.

Today, this problem can be fixed in 2 possible way:
- List all external tools needed on a README/INSTALL file and let the
  user install them
- Automatically download and install the external tools with some
  Elisp code that call `wget` or a packages manager

For the second way, it is already used by some third party Emacs
packages like `anaconda-mode` (download and install Jedi) or
`flycheck-grammalecte` (not fully automatic, need to call one Elisp
function to download grammalecte).

If we look at the ethic problematic of the situation, today we cannot
prevent third party Emacs packages to automatically download external
tools. But by providing something like `external-tools.el` we can
provide an easy and unified way to install external tools, a way that:
- Will always ask confirmation of the user before download and install
  anything
- Could list all tools that would be installed (maybe with the licence
  name) before download them
- Could explain to the user the risk when using proprietary software

This way will not prevent third party packages to use
`external-tools.el` to declare and download proprietary software, but
the actual situation can't either when Elisp code call the `wget`
command to download proprietary software. We can still prohibit
Emacs built-in and ELPA packages to declare and download proprietary
software.

The question is: Can we provide something with the goal to simplify
the download and the installation of Free Softwares as external tools
when this can be also used by third party dev to download and install
proprietary software?

But this question can also arise for the package manager of Emacs that
can be used with a third party repository that would providing
proprietary software.


Le samedi 09 mai 2020 à 21:26 +0200, Sébastien G a écrit :
> Le samedi 09 mai 2020 à 18:36 +0100, João Távora a écrit :
> > enhance eglot.el to automatically download server programs.
> 
> Maybe downloading and installing server programs can be delegate to a
> new "external-tools.el" library. Something that can manage not only
> language server, but any extrnal tools requested by a mode.
> 
> This library could provide an API to:
> - Declare, in a single elisp function call, an external tool with a
>   name and how install it (which pkg and pkg manager to use)
> - Let modes request the presence of specific external tool with a
>   single elisp function call
> - Modes can, optionnaly, request the latest version of the external
>   tool to be present
> 
> When an external tools is requested:
> - If the tool is not installed: Install it
> - If the tool is already installed and latest version is required:
>   Update it
> - If the tool is already installed and latest version is not
> required:
>   Do nothing
> - When installing or updating something, ask user confirmation before
>   do it
> - If the tool requested cannot be installed, the mode can know it and
>   desactivate some of its features.
> 
> 
> "external-tools" could be useful to many modes and elisp functions.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]