-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: Add cygwin mintty to windows binary distribution. #12879
Conversation
a92c71e
to
95ec42e
Compare
I think for the 32-bit version we also need |
url=$(awk "BEGIN {RS = \"@ \"} ; \$1 == \"$f\" { print \$0 }" $local_path/setup.ini | awk '$1 == "install:" { print $2 }' - | head -1) | ||
|
||
# determine the local filename | ||
filename=${url##*/} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a bashism, so #!/bin/bash
would be a more honest shebang. A set -e
early on would also be a good idea.
Also needs a mention in LICENSE.md. |
I have seen lots of users struggle with our Windows REPL, and this is much appreciated! |
95ec42e
to
05ad5ab
Compare
5c38e31
to
650f73e
Compare
mkdir $(DESTDIR)$(prefix)/Git && \ | ||
7z x PortableGit.7z -o"$(DESTDIR)$(prefix)/Git" && \ | ||
echo "[core] eol = lf" >> "$(DESTDIR)$(prefix)/Git/etc/gitconfig" && \ | ||
sed -i "s/\bautocrlf = true$$/autocrlf = input/" "$(DESTDIR)$(prefix)/Git/etc/gitconfig" && \ | ||
cp busybox.exe $(DESTDIR)$(prefix)/Git/bin/echo.exe && \ | ||
cp busybox.exe $(DESTDIR)$(prefix)/Git/bin/printf.exe ) | ||
cp busybox.exe $(DESTDIR)$(prefix)/Git/bin/printf.exe && \ | ||
mkdir -p $(DESTDIR)$(prefix)/mintty/usr/bin && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mintty
stuff gets put in its own directory because @ihnorton reported in #7267 (comment) that it was necessary that mintty
exist in a usr/bin
directory in order for cygwin-console-helper
to do its thing (hiding the extra terminal window).
Test failure due to #11553. |
Can this be made optional on Win10? The Win10 console is perfectly fine and so on Win10 I would much prefer to get the same console that I have for everything else, that is the system console. |
It will always be optional by double-clicking |
@@ -87,3 +87,4 @@ Julia bundles the following external programs and libraries on some platforms: | |||
- [GIT](http://git-scm.com/about/free-and-open-source) | |||
- [ZLIB](http://zlib.net/zlib_license.html) | |||
- [LIBEXPAT](http://expat.cvs.sourceforge.net/viewvc/expat/expat/README) | |||
- [CYGWIN](https://cygwin.com/licensing.html) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's also link to https://github.com/mintty/mintty/blob/master/LICENSE since it's somewhat separate
Please push a rebased version, now that 11553 is hopefully worked around. |
I've been dogfooding this. A couple of things have come up. For one, while the terminal is open there are apparently two The other, more significant, issue: when |
650f73e
to
51dfde3
Compare
51dfde3
to
1452c6a
Compare
@tkelman, to answer an earlier question of yours (on an outdated commit?), the target for a shortcut can be 259 characters: 256 characters for a path plus an additional 3 characters for the drive, I guess. EDIT: According to SO, it is only the shell that is limited. NSIS-generated shortcuts with long paths should still work (but would just be a pain to edit). |
I would prefer if there were two shortcuts added to the start menu, one that defaults to the standard windows console and one that runs julia in mintty. I often start julia via the startmenu, and on win10 there is really no reason to surprise users with a non-standard console experience. |
People won't know the difference or recognize what mintty means. If we have 2 shortcuts, do we call them "Julia (nice terminal)" and "Julia (crappy terminal unless you're on windows 10)"? Doesn't seem worth the clutter to me. |
Another issue: |
@davidanthoff @tkelman : we could be more diplomatic and call them "Julia" and "Julia (classic)" 😃 |
or "basic," like there used to be with the old readline repl |
Googling suggests the |
We could open an issue at https://github.com/mintty/mintty if you can reproduce this with some simple small program. mintty is being actively developed recently so there's a chance we would have more luck this time identifying the problem or workarounds here. |
Figured I'd post an update on this just to show I haven't completely abandoned this thread. Sometime last week I tried to see if I could reproduce the signal handling issue with a program simpler than julia. Didn't make any headway. The Ctrl-C behavior seemed to be correctly handled for my dummy exe. |
It's worth noting that release-0.4 is using git 2.x for 0.4.1, which seems to be working fine so far. Unless anyone reports any Pkg issues with the newer version of Git, we could add a julia-mintty shortcut specifically for the release-0.4 branch. This PR is still worth pursuing independently since master will stop bundling command line git before 0.5.0. |
Did we ever track down what was wrong with the bindeps powershell download? This is still worth doing. |
I never got further with it and haven't looked at for a year and a half. I ran out of ideas and turned my attention to some hacks to make life more palatable while living in the standard command window. #12754 lets me make the colors less annoying, and I've learned a registry hack to add DejaVu Sans Mono as a terminal font. Those were my two primary motivations for following this thread. I've been living with the standard command window since then. |
Addresses #7267.
win-extras
target.mintty
.The
contrib/windows/cygwin.sh
script is minimally functional but could be robustified and possibly generalized alawinrpm.sh
.The copy step is written but I haven't tested it yet, as my environment is currently set up such that thebinary-dist
target is barfing before it gets to the new stuff.The shortcuts are getting generated but they don't work unless the working directory ismintty/usr/bin
as julia is looking forstty
on the path. We need a workaround.