On 03/08/2015 09:16 AM, David Macek wrote:
> On 8. 3. 2015 3:39, David Marceau wrote:
>> I read the intro to msy2 on your wikipage.
> 
> First, I want to know if this explanation helps:
> 
> Cygwin provides a lot of packages allowing (and with the goal of) easy 
> building of POSIX software on Windows. It also provides few packages 
> (mingw-w64-*) additionally allowing building of native Windows software, but 
> it's not really important to them. Imagine MSYS2 is a Cygwin with swapped 
> priorities. Our goal is easy building of native Windows software and we have 
> a lot of packages there, but we also (need to) have some packages for 
> building POSIX software, but it's important for us to expand these 
> repositories.
> 
> I'd really like to know your feedback on this paragraph. If it did help, I'll 
> include it on the wiki. Direct answers below.

You said "POSIX" a great deal.  I understand it is important as it means
100% UNIX behaviour in a sense.  It seems to me GNU/Linux holds the
torch for POSIX.  New stuff possibly going into POSIX will land in
GNU/Linux on experimental branches before anywhere else now.

http://en.wikipedia.org/wiki/POSIX
POSIX in my opinion is all that command-line and piping from one tool to
another is available both in cygwin and msys2.  POSIX is all about
making sure app inter-client communication conforms to the same CLI apis
and C apis.

The company "MKS SOFTWARE" claims POSIX compliance better than cygwin.
So does that mean the POSIX pecking order is "mks toolkit" > cygwin >
msys2 ?
http://www.mkssoftware.com/products/

>From what I experienced recently, the gtk/gtkmm stuff in MSYS2 is seems
to stay closely up-to-date with arch sources unlike cygwin gtk/gtkmm
which for a while was quite dated when I last checked.  There is no
gtk/gtkmm to be found anywhere mentioned on mkssoftware's product
offerings.  They mentioned xserver and osf/motif. GTK runs on top of X,
but mks software should clearly state whether they support
kde/gnome/xfce on top of their xserver.  They didn't so I am
disregarding the mkstoolkit because they are not providing a one-stop
place to find everything found in the most popular GNU/Linux distros.

I don't care about POSIX.  I care about GNU/Linux.  I am more focused
about GNU/Linux apps behaving correctly not only on GNU/Linux but also
on 64-bit Windows OS WITHOUT RELEARNING ANY RECENT WIN64 WINDOWS APIs to
get there.  If I can get 64-bit GNU/Linux apps to build and run on a
windows os by using MSYS2/MINGW64, then I want to use it.

Although I'm brushing up on my c++/gtkmm skills intent on using them
with msys2/mingw64 and linux distros, I've been looking at the progress
being made with golang 1.5 to target many different os'es.  One single
command gets your binary ready to run for another os.  I've shown three
different commands to build and another three different commands to run
them on their respective os along with the output.  golang is currently
more in favor of staticlib-based-binaries rather than dll-based-binaries.
http://dave.cheney.net/2015/03/03/cross-compilation-just-got-a-whole-lot-better-in-go-1-5

% env GOOS=darwin GOARCH=386 go build -x hello.go
# scp to darwin host
$ ./hello
Hello darwin/386

% env GOOS=linux GOARCH=arm GOARM=7 go build -x hello.go
# scp to linux host
$ ./hello
Hello linux/arm

go build -x hello.go
[loongson@patience01 testx1]$ ./hello
Hello linux/amd64
If you would like to see the noisy under-the-hood results for these
builds here they are:
https://github.com/golang/go/issues/10075

It may seem irrelevant, but when there is a working gtk3 binding
"gotk3", then it becomes relevant to building GNU/Linux GUI apps with
all the bells and whistles probably found within the above mentioned
POSIX.  I recently saw a video about spec testing for http2 within golang.
https://www.youtube.com/watch?v=gukAZO1fqZQ
LOTS of state-of-the-art more-POSIX-than-POSIX stuff in golang.
The http2 golang test coverage stuff mentioned in the above http2 golang
talk youtube video demonstrates that.
***********************************************
***********************************************
***********************************************
I like the end-result of msys2/mingw and cygwin...
bringing linux tools guis to windows.
THE BETTER TOOLKIT will be the one that allows you to target everything:
-for MS-WINDOWS OS without learning anything MS win32/win64 specific.
-for ANDROID OS without learning anything ANDROID specific.
-for Apple MAC OS X without learning anything Apple specific.
***********************************************
***********************************************
***********************************************

In a sense, that's what POSIX was for, but GUI wise the landscape is
foggy. X.org(latest)? Qt5? GTK3?  For me GTK3 in c++(gtkmm) and
golang(gotk3) seem to lift the fog.  msys2/mingw64 help to lift that fog
when targeting windows specifically.  Installing packages with pacman is
better than installing packages with cygwin.  I am in favor of a wiki
page helping to create msys2/mingw64 pacman packages ready to be
submitted to msys2/mingw64-specific repository mirrors.

http://gtkmm-installation.blogspot.ca/2015/01/gtkmm-installation-on-windows-step-by.html
https://github.com/conformal/gotk3/issues/88


So where am I going with all this?  It would be nice to see golang
well-supported within msys2/mingw64 infrastructure to get you where you
want to go faster.  Some tools to help create packages ready to upload
to pacman msys2/mingw64 repositories for not only c++/gtkmm based
binaries, but also golang binaries would be awesome.


>>> "MSYS2 doesn't intend to compete with Cygwin or duplicate their >efforts."
>>
>> It seems that the MSYS2 team is encouraging me to also install cygwin on
>> my windows os alongside my MSYS2 installation.  Is that what I should
>> interpret from the above statement?
> 
> If you need it, yes.
> 
>> Why should I have both msys2 and
>> cygwin installed together?  What's the benefit over simply installing msys2?
> 
> Cygwin provides a massive package repository, including a lot of software 
> that is hard to port to native Windows (i.e. mingw-w64). The idea is that the 
> POSIX-emulated part of MSYS2 is just a necessary evil to allow compiling 
> native software. Even if it was not the case though, since MSYS2 isn't just a 
> clone of Cygwin (differences in the runtime, different package manager), we 
> can't simply use their repository nor we can easily use their build recipes 
> to build our own. A single project combining the strengths of both Cygwin and 
> MSYS2 would be awesome, but that's distant, possibly unattainable future.
> 
>> I am confused because both msys2 and cygwin provide the gnu compiler
>> collection helping linux developers to code just once and simply compile
>> again for windows os'(32-bit or 64-bit) binaries.
> 
> I assume you mean the POSIX-enabled gcc. In that case, my answer is that 
> MSYS2 provides this toolchain, but doesn't encourage its use. The set of 
> available library packages for this subsystem is very small to really allow 
> "simply compiling again for Windows" anyway.
> 
> 
> 
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the 
> conversation now. http://goparallel.sourceforge.net/
> 
> 
> 
> _______________________________________________
> Msys2-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/msys2-users
> 


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Msys2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/msys2-users

Reply via email to