tvraman / emacspeak

Emacspeak --- The Complete Audio Desktop
245 stars 52 forks source link

Adds Windows and SharpWin support #119

Closed robertmeta closed 5 months ago

robertmeta commented 5 months ago

This provides extremely basic support for SharpWin. Should have zero impact on anything that isn't Windows.

  1. Gates parts of the Makefile that can't work on windows (chmod, README using HEAD and tar)
  2. Ensures when on windows it uses cmd.exe and doesn't use sh if available
  3. Changes the quotes from ' to " for the build line, this does not matter on *nix, and makes it work in cmd.exe
  4. Adds the SharpWin server option

More complete version will come before merging officially, but this is enough to let people test by using Emacspeak git and SharpWin git together.

tvraman commented 5 months ago

Let's not touch so many files. And let's not have if/else switches everywhere, I wont sign up to maintaining this. To build on Windows: A. Require user to use cygwin or wsl, or alternatively B. Write a Windows specific Makefile. Linux tools like tar etc are expected -- I'm not interested in having Emacspeak work for a Windows user who wont install Linux-like tools

robertmeta commented 5 months ago

First attempt forwarding a github discussion to the list, lets see how well this works. I sort of faked how I imagined an email correspondence on it would look below.


Raman--

Alright, so for various reasons I am willing to go over if anyone cares, I ruled out cygwin and WSL.

The good news in this case is that we just need a very small number of very basic tools. Msys, Msys2 and GnuWin should all be enough to make it work.

I am not completely clear on how option B would work, would that be a Makefile.windows that lives alongside the current Makefile? Or was the intention a Makefile under SharpWin that does all the required build steps for the entire project?

Will close the PR and we can continue discussion on list.

On Mar 30, 2024, at 10:44, T. V. Raman @.***> wrote:

Let's not touch so many files. And let's not have if/else switches everywhere, I wont sign up to maintaining this. To build on Windows: A. Require user to use cygwin or wsl, or alternatively B. Write a Windows specific Makefile. Linux tools like tar etc are expected -- I'm not interested in having Emacspeak work for a Windows user who wont install Linux-like tools

Ticket Content:

This provides extremely basic support for SharpWin. Should have zero impact on anything that isn't Windows. • Gates parts of the Makefile that can't work on windows (chmod, README using HEAD and tar) • Ensures when on windows it uses cmd.exe and doesn't use sh if available • Changes the quotes from ' to " for the build line, this does not matter on *nix, and makes it work in cmd.exe • Adds the SharpWin server option More complete version will come before merging officially, but this is enough to let people test by using Emacspeak git and SharpWin git together.

-- Robert "robertmeta" Melton @. @.>

robertmeta commented 5 months ago

"Robert Melton" (via emacspeak Mailing List) @.***> writes:

Either option on the Makefile works, but what I dont want to merge is a cL that touches so many files.

Here is a suggestion:

  1. Keep a separate branch that touches a minimal number of files, -- hopefully at most 1.
  2. Let that develop and refactor / simplify progressively
  3. Should be easy to keep that branch up-to-date with Master -- if not then the "doesn't affect the rest of the codebase would be false"
  4. I dont care too much re why you rejected cygwin, wsl etc, but I'm not willing to pollute the codebase with non-unix assumptions re tools and utils.
  5. I think the interesting work here is creating a TTS server for Emacspeak, not in the sort of busy work the current PR indicates.
  6. If the Windows TTS server works well is a roaring success, that would at least create some justification for some of the busy work.

First attempt forwarding a github discussion to the list, lets see how well this works. I sort of faked how I imagined an email correspondence on it would look below.


Raman--

Alright, so for various reasons I am willing to go over if anyone cares, I ruled out cygwin and WSL.

The good news in this case is that we just need a very small number of very basic tools. Msys, Msys2 and GnuWin should all be enough to make it work.

I am not completely clear on how option B would work, would that be a Makefile.windows that lives alongside the current Makefile? Or was the intention a Makefile under SharpWin that does all the required build steps for the entire project?

Will close the PR and we can continue discussion on list.

On Mar 30, 2024, at 10:44, T. V. Raman @.***> wrote:

Let's not touch so many files. And let's not have if/else switches everywhere, I wont sign up to maintaining this. To build on Windows: A. Require user to use cygwin or wsl, or alternatively B. Write a Windows specific Makefile. Linux tools like tar etc are expected -- I'm not interested in having Emacspeak work for a Windows user who wont install Linux-like tools

Ticket Content:

This provides extremely basic support for SharpWin. Should have zero impact on anything that isn't Windows. • Gates parts of the Makefile that can't work on windows (chmod, README using HEAD and tar) • Ensures when on windows it uses cmd.exe and doesn't use sh if available • Changes the quotes from ' to " for the build line, this does not matter on *nix, and makes it work in cmd.exe • Adds the SharpWin server option More complete version will come before merging officially, but this is enough to let people test by using Emacspeak git and SharpWin git together.

-- Robert "robertmeta" Melton @. @.>

Emacspeak discussion list -- @. To unsubscribe send email to: @. with a subject of: unsubscribe

--