
Cygwin 3.0.0-1 - andyonthewings
https://cygwin.com/ml/cygwin/2019-02/msg00229.html
======
kazinator
Wow, major release.

I should rebase Cygnal to Cygwin 3.0.

[http://www.kylheku.com/cygnal/](http://www.kylheku.com/cygnal/)

~~~
jclay
Hadn't seen this until now. This project looks great.

As someone who has mostly used the MSVC environment on Windows, can you
comment on how often Cygwin allows for a Linux port to compile and run with no
source changes? I read a while back that the fork "emulation" is a performance
hit. I wonder if Cygwin benefited from the WSL fork implementation [0]

0\.
[https://news.ycombinator.com/item?id=11391797](https://news.ycombinator.com/item?id=11391797)

~~~
rbanffy
I never distributed my binaries to other Windows users - I merely used Cygwin
to get a familiar Unix environment on Windows since 2007 or so. Everything
worked seamlessly. I remember compiling multiple versions of Python using it.

~~~
aurora72
Cygwin is the pioneer in Unix on Windows but it's been superseded by the
MSYS2. I say this with caution though: MSYS2 is inspired by the Cygwin. But
it's just more authentic because you use real Windows applications doing Unix
jobs.

~~~
flukus
How does MYSYS2 supersede cygwin? From the wiki
([https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-
fr...](https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin))
that's not really clear:

> Cygwin tries to bring a POSIX-compatible environment to Windows so that most
> software that runs on unices will build and run on Cygwin without any
> significant modifications. Cygwin provides a large collection of packages
> containing such software, and libraries for their development.

> MSYS2 tries to provide an environment for building native Windows software.
> MSYS2 provides a large collection of packages containing such software, and
> libraries for their development. As a large portion of the software uses GNU
> build tools which are tightly coupled to the unix world, this environment is
> also POSIX-compatible, and is in fact based on Cygwin.

For someone that uses cygwin (still on windows 7) heavily everyday what
benefit would I get from MYSYS2?

~~~
kazinator
> _MSYS2 tries to provide an environment for building native Windows
> software._

And that is pretty darn useless. People writing for Windows fall into two
camps: FOSS people (and perhaps proprietary SW people also) who develop on
Linux and Macs using POSIX API's. They need decent POSIX for porting the
programs to Windows more easily. And then we have people who develop _for_
Windows. They use Microsoft Visual Studio. Windows is proprietary; the idea
that you need some free tools to write code that only works on a proprietary
OS is absurd. Visual Studio with basic features can be obtained free-as-in-
beer. The last time I developed a Windows-only program, I just used VS2008.

Cygwin provides a decent POSIX porting experience to Windows. My "Cygnal"
project, consiting of a small number of patches to Cygwin, allows programs
ported to Windows via Cygwin to have more Windows-like personality. For path
handling is Windows-style: drive letter names work, "currently logged
directory" (per drive) works. The system() function in Cygnal uses cmd.exe,
not /bin/sh, and even programs that try to fork and exec /bin/sh
(reimplmeenting their own system, effectively) are redirected to cmd.exe. The
PATH environment variable is semicolon-delimited; no conversion takes place on
env vars. Various little things like this are fixed. And you don't have to
rebuild anything; just compile a program for Cygwin, then deploy it with the
patched _cygwin1.dll_. Programs can easily detect which one they are running
with, in case it's useful to provide some alternative logic.

The MinGW family provide a good solution for programs that are highly
platform-independent, like certain kinds of "non-POSIX-heavy" utilities.

------
neonscribe
What is the use case for Cygwin vs. WSL at this point?

~~~
op00to
WSL is great for when you can tolerate's WSL's incorrect, broken floating
point math. [1]

If you need your math to be correct, use Cygwin.

[1]
[https://github.com/Microsoft/WSL/issues/830](https://github.com/Microsoft/WSL/issues/830)

~~~
mattnewport
What's broken is code that relies on long double offering more precision than
double and expects to be portable. That's not guaranteed by the standard and
isn't going to be true on all architectures.

~~~
lmz
To be fair, WSL claims to be (x86) Linux binary compatible. It's giving
different results from actual Linux for the same binary.

------
aboutruby
> \- Support for case sensitive directories. mkdir(2) automatically creates
> directories within the Cygwin installation dir as case sensitive now.

> This feature requires Windows 10 1803 or later and WSL installed!

Interesting, so is cygwin going to be based on WSL?

~~~
chungy
The attributes to set and unset per-directory case sensitivity have always
been available to Win32 processes. It is not specific to WSL (though Windows
won't allow it unless you tick the WSL box in the Features dialog. You don't
need to install any Linux distro after that.)

------
dazhbog
Used to use Cygwin at work, where I was not allowed to use Linux, just
Windows.

Remember putting all the usr binaries (cat,ls,sed,etc.) in the windows path
and it was great!

------
equalunique
Among other significat changes - using kerberos over LSA... Interesting!

