unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Phillip Lord <phillip.lord@russet.org.uk>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [feature/internal-msys] thoughts of a more function windows package
Date: Thu, 21 Jan 2021 16:44:02 +0000	[thread overview]
Message-ID: <87zh12grzh.fsf@russet.org.uk> (raw)
In-Reply-To: <83czxy7530.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 21 Jan 2021 16:11:15 +0200")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Phillip Lord <phillip.lord@russet.org.uk>
>> Date: Wed, 20 Jan 2021 19:29:58 +0000
>> 
>> The plan would be during the installation run the newly installed
>> Emacs. This would download, unpack and configure msys2, as well as
>> install a variety of related packages (git, find, gzip, hunspell,
>> aspell, what ever). For those using the zip package of Emacs, they would
>> achieve the same thing by running a command.
>
> Could you please elaborate on how will this work for users?  E.g., how
> about describing the steps a user who installs Emacs should do to
> install these additions?  I don't think I have a clear picture of what
> you intend to do, and the files you committed are just the starting
> point, so they don't answer this question.

Considering just the .exe installer, at the end of the installation
process, we would run Emacs with menu bar, scroll bar and everything
switch off and run the command "w32-msys-internal-install-dialog".

Emacs would say "do you want do install a handy collection of
tools". User says "y", then Emacs downloads the latest msys2-date.xz,
then unpacks it with xz. Emacs will run msys2.exe to initialize
(hopefully without poping up windows if this will work). Then Emacs will
run pacman to update and install. The user will see Emacs saying

Would you like to install msys, and a handy set of tools (Y/n)
Installing msys...done
Updating msys...done
Installing git...done

When it's finished, the user starts Emacs and does vc-dir and it works,
instead of seeing "git not found" errors. For those using the zip file,
the user would have to launch "M-x w32-msys-install" manually.

At a later date, I might add some cuter things. So, for example we might
install:

https://github.com/brotzeit/arch-packer

or equivalent. We might create "internal-msys" package on ELPA which
contains a standard set of packages and Emacs fixes to make it work, so
it would be freely updatable. At which point the w32-msys-install
command would install the ELPA package before doing anything else.

There are also issues that when Emacs is removed msys (and any
configuration) would get blitzed, so I'd have to think about how to
persist msys configuration between two installs of Emacs. Currently the
file organisation looks like this:

c:/Program Files/Emacs/emacs-28.1/bin
c:/Program Files/Emacs/emacs-28.1/share
c:/Program Files/Emacs/emacs-28.1/msys

(etc)

but 

c:/Program Files/Emacs/emacs-28.1/bin
c:/Program Files/Emacs/emacs-28.1/share
c:/Program Files/Emacs/msys

would mean that installing Emacs-28.2 would work naturally.

There are also some issues about user persmissions; I only ever run
Windows as administrator, so there will be some thought given as to how
this would work. Neither Emacs or msys require this AFAICT.



> Btw, I don't think I understand why you insist on using 'concat' to
> generate files names from 2 components: that's what expand-file-name
> is for, and it does that better.

Because in my own code, I tend to use f.el and I have got used to having
a clean, consistent and comprehensive API, so I tend to forget the
underlying Emacs primitives.


> One other not about the code you committed is that modifying PATH from
> within Emacs is not generally a good idea, it has some subtleties.

Any alternative that achieves the same thing?

Phil



  reply	other threads:[~2021-01-21 16:44 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 19:57 [feature/dll-only-windows] A new windows build, comments wanted Phillip Lord
2021-01-09 20:18 ` Eli Zaretskii
2021-01-09 21:31   ` Phillip Lord
2021-01-10  8:49     ` Arash Esbati
2021-01-10 15:19       ` Phillip Lord
2021-01-10 16:45     ` Eli Zaretskii
2021-01-10 18:23       ` Phillip Lord
2021-01-10 19:05         ` Eli Zaretskii
2021-01-10 19:20           ` Óscar Fuentes
2021-01-10 19:37             ` Eli Zaretskii
2021-01-10 20:52           ` `gzip` dependency (was: [feature/dll-only-windows] A new windows build, comments wanted) Stefan Monnier
2021-01-11  3:27             ` Eli Zaretskii
2021-01-11 10:00               ` `gzip` dependency Phillip Lord
2021-01-11 15:22                 ` Eli Zaretskii
2021-01-11 14:59               ` Stefan Monnier
2021-01-11 15:15                 ` Phillip Lord
2021-01-11 15:46                 ` Eli Zaretskii
2021-01-20 19:29             ` [feature/internal-msys] thoughts of a more function windows package Phillip Lord
2021-01-21 12:36               ` Stephen Leake
2021-01-21 16:11                 ` Phillip Lord
2021-01-21 18:22                 ` Stephen Leake
2021-01-21 18:44                   ` phillip.lord
2021-01-23  2:51                     ` Stephen Leake
2021-01-21 18:53                   ` Óscar Fuentes
2021-01-21 14:11               ` Eli Zaretskii
2021-01-21 16:44                 ` Phillip Lord [this message]
2021-01-21 20:17                   ` Eli Zaretskii
2021-01-21 21:37                     ` Phillip Lord
2021-01-22  7:24                       ` Eli Zaretskii
2021-01-22 16:14                         ` Phillip Lord
2021-01-22 17:03                           ` Eli Zaretskii
2021-01-24 22:13                             ` Phillip Lord
2021-01-24 22:56                               ` Óscar Fuentes
2021-01-24 23:34                                 ` Phillip Lord
2021-01-25  0:12                                   ` Óscar Fuentes
2021-01-25 15:24                                   ` Eli Zaretskii
2021-01-25 19:49                                     ` chad
2021-01-25 19:57                                       ` Eli Zaretskii
2021-01-25 20:42                                       ` Stefan Monnier
2021-01-25 22:13                                         ` chad
2021-01-25 22:28                                         ` Dmitry Gutov
2021-01-26  3:26                                         ` Eli Zaretskii
2021-01-25 15:20                               ` Eli Zaretskii
2021-01-25 20:01                                 ` Richard Copley
2021-01-25 21:17                                   ` Óscar Fuentes
2021-01-26  3:29                                     ` Eli Zaretskii
2021-01-26  5:43                                       ` Óscar Fuentes
2021-01-26  6:56                                         ` Eli Zaretskii
2021-01-26  7:37                                           ` Óscar Fuentes
2021-01-26  9:57                                             ` Eli Zaretskii
2021-01-26 15:58                                               ` martin rudalics
2021-01-27 14:55                                             ` Stephen Leake
2021-01-27 18:36                                               ` Eli Zaretskii
2021-01-26 16:35                                   ` Stephen Leake
2021-01-26 10:43                                 ` Phillip Lord
2021-04-03 11:34               ` Nikolay Kudryavtsev
2021-04-20  9:25                 ` Phillip Lord
2021-04-20 14:38                   ` Wayne Harris via Emacs development discussions.
2021-04-21 15:51                     ` Phillip Lord
2021-04-21 17:11                       ` Nikolay Kudryavtsev
2021-04-24 11:46                       ` Wayne Harris via Emacs development discussions.
2021-04-26 13:27                         ` Phillip Lord
2021-04-21 17:19                     ` Nikolay Kudryavtsev
2021-04-21 23:03                       ` Óscar Fuentes
2021-04-22 19:44                         ` Nikolay Kudryavtsev
2021-04-22 14:55                       ` Wayne Harris via Emacs development discussions.
2021-01-11  9:59           ` [feature/dll-only-windows] A new windows build, comments wanted Phillip Lord
2021-01-11 15:21             ` Eli Zaretskii
2021-01-11 18:29               ` Phillip Lord
2021-01-09 21:36   ` Óscar Fuentes
2021-01-10 16:46     ` Eli Zaretskii
2021-01-10 18:34       ` Phillip Lord
2021-01-09 21:51   ` Andrea Corallo via Emacs development discussions.
2021-01-10  3:33     ` Eli Zaretskii
2021-01-10 15:09     ` Phillip Lord
2021-01-10 19:06       ` Andrea Corallo via Emacs development discussions.
2021-01-11  9:47         ` Phillip Lord
2021-01-11 11:01           ` Andrea Corallo via Emacs development discussions.
2021-01-11 16:29             ` Phillip Lord
2021-01-11 17:21               ` Andrea Corallo via Emacs development discussions.
2021-01-10 15:14   ` Phillip Lord
2021-01-10 17:23     ` Eli Zaretskii
2021-01-09 20:47 ` Alan Third
2021-01-09 21:33   ` Phillip Lord
2021-01-10  0:04     ` Alan Third
2021-01-10  3:28   ` Eli Zaretskii
2021-01-10 15:43 ` Phillip Lord
2021-01-12  6:01   ` Corwin Brust
2021-01-12  9:48     ` Phillip Lord
2021-01-12 10:27       ` Corwin Brust

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://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87zh12grzh.fsf@russet.org.uk \
    --to=phillip.lord@russet.org.uk \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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/emacs.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).