Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

binary distribution #1

Closed
mallochine opened this issue Nov 19, 2017 · 17 comments
Closed

binary distribution #1

mallochine opened this issue Nov 19, 2017 · 17 comments

Comments

@mallochine
Copy link

An exe or binary would help install this.

@cascent
Copy link
Owner

cascent commented Dec 5, 2017

I agree.

I use a slightly modified Cygwin (with better Unicode support), so am reluctant to upload my own binaries. Ideally the build process would be scripted/reproducible.

@mallochine
Copy link
Author

Why would you be reluctant to do that? I'd use that exe.

@mallochine
Copy link
Author

I'll give you $5 over Patreon or via whatever's most comfortable for you. Unless you can point out a better alternative. Vim8's terminal support is pretty lacking -- Cygwin only has the Aug 2017 compiled version of Vim8 which does not have tmap (!?!?!?!).

Anyway I'm very glad you responded. I wasn't sure I'd get a response.

@cascent
Copy link
Owner

cascent commented Dec 6, 2017

I'm gonna try to script the build. if I get that working, I'll compile everything in a VM and upload binaries!


among other character handling improvements, my personal custom Cygwin has a different signature for the wcwidth function, using a modified version of Thomas Wolff's patches (I think he is @mintty?): https://cygwin.com/ml/cygwin/2017-11/msg00296.html

Existing Cygwin ≤2.9 binaries seem to work fine with my cygwin1.dll , but I don't want to distribute binaries compiled using my custom Cygwin & wchar.h because I've not tested them with the old wcwidth function.

@mallochine
Copy link
Author

Any updates?

@cascent
Copy link
Owner

cascent commented Dec 8, 2017

won't get to it this week. it would probably be easier for someone to get these packages included in the main distribution.

@mallochine
Copy link
Author

I could also just use your modified Cygwin.

@gwerbin
Copy link

gwerbin commented Dec 8, 2017

@cascent maybe this helps: https://cygwin.com/packaging-contributors-guide.html

@cascent
Copy link
Owner

cascent commented Dec 9, 2017

@gwerbin thanks! I knew there was a document but kind of avoided looking for it because I don't like mailing lists and knew they'd be involved (see readme) :P since there's some demand I'll look into this. it might be easier than I thought.

If I could, I'd like to put effort into improving Cygwin package management to make it easier to local packages and use third-party repositories. But I'm not sure I have the time, and there's still the mailing list issue.

@mallochine I don't mind sharing the source for my custom Cygwin, but don't want to provide binaries that might unexpectedly break some application. (actually, I should check on the status of Unicode improvements on the newlib mailing list/git repo)
Much of what I use (gnome-terminal, gtk3, fish shell, neovim) is recompiled against my cygwin, and I also use gtk3 with Win32 GUI instead of X. I'd actually like to put those customizations on GitHub sometime, as they may be useful to others.

@cascent
Copy link
Owner

cascent commented Dec 12, 2017

OK, I uploaded binaries for all packages here:
https://github.com/cascent/neovim-cygwin/releases/tag/v0.2.2-20171212-0

will try to get these upstream sometime. see #3

@cascent cascent closed this as completed Dec 12, 2017
@mallochine
Copy link
Author

looks like this works. You think this would also work for Msys2?

@cascent
Copy link
Owner

cascent commented Dec 25, 2017

so glad to hear it works.
I think there's a good chance everything could be compiled for msys2! I don't use it though. I think it's based on/close to cygwin. most of the dependencies I'd think would compile okay, and if you get libuv built, I think neovim might be okay too.

@mallochine
Copy link
Author

Msys2 uses a really old cygwin version I think. Also I dunno if they support unix socket -- they definitely don't support symlink.

Would the binary distribuation here work?

Btw what's the simple command to install a tar.xz file? I had to unpack and then cp over each guy individually.

@cascent
Copy link
Owner

cascent commented Dec 25, 2017

The binaries I provided would only work if msys2 provides compatible versions of cygwin1, cygiconv, cygintl, cygluajit, and cygssp. I have no idea how different MSYS2's cygwin fork is.

There's no simple command to properly install Cygwin tar.xz packages - It's way more complicated than using dpkg or rpm to install .debs or .rpms on debian/red hat, sadly
the right way to install them is to use the cygwin setup utility and point it to the setup.ini file the describes the packages, then select the packages you want to install.

@mallochine
Copy link
Author

hmm....what commands can I run to give you the versions of cygwin1, cygiconv, etc..

@cascent
Copy link
Owner

cascent commented Dec 27, 2017

well, I just looked at the contents of a msys2 install, and cygwin binaries definitely won't work on them - the DLL names are different (have a msys- prefix instead of cyg) and running a Cygwin program from a msys2 mintty doesn't seem to work at all.

although msys2 is based on cygwin, packaging is totally different (and possibly better!), so getting nvim on msys2 would be out of scope for this project. I have no experience with msys2, so I can't really help much.

@mallochine
Copy link
Author

FYI I've been looking at WSL and looks like this may actually replace cygwin for me....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants