* [gentoo-alt] Future of x64-cygwin, x86-winnt?
@ 2021-01-14 11:38 Fabian Groffen
2021-01-14 13:03 ` Askar Bektassov (Аскар Бектасов)
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Fabian Groffen @ 2021-01-14 11:38 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1206 bytes --]
All,
With haubi recently retiring from the project, I've taken a close look
at platforms we have in use, and cleaned up a lot of them that we have
absolutely no means to support (any more). This includes old Darwin and
Solaris releases, entire support for HPUX, AIX, etc.
I've left x64-cygwin and x86-winnt untouched in that process. However,
x64-cygwin in particular requires a large amount of
(non-trivial/disturbing) patches, basically blocking our merging of the
Prefix overlay into gx86.
It seems to me, x64-cygwin and x86-winnt have no sponsor whatsoever at
this point within Gentoo, or our direct user-base. Some user that
submitted a lot of patches/fixes on our bugzilla in the past pointed out
that Cygwin is no longer necessary for him due to effortless bootstraps
on "WSL".
So, the inevitable question: who needs x64-cygwin/x86-winnt, and who
would take care of maintaining it? If noone steps up (I cannot even run
the platform) before Feb 1st 2021, I'll probably continue and drop these
two from Gentoo at some point after that.
Please chime in if you have an opinion, info, interest, etc.
Thanks,
Fabian
--
Fabian Groffen
Gentoo on a different level
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-14 11:38 [gentoo-alt] Future of x64-cygwin, x86-winnt? Fabian Groffen
@ 2021-01-14 13:03 ` Askar Bektassov (Аскар Бектасов)
2021-01-18 5:04 ` Martin Oberzalek
2021-01-18 16:42 ` Sid Spry
2 siblings, 0 replies; 10+ messages in thread
From: Askar Bektassov (Аскар Бектасов) @ 2021-01-14 13:03 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1855 bytes --]
Hi Fabian,
With the advent of WSL, I moved completely out of prefix and now have a
small instance of a *native *Gentoo inside windows.
If MS continues improving its compatibility with Linux, I do not foresee
any scenario where I would be willing to use x64-cygwin/x86-winnt again.
The situation may be different for those still relying on X, though.
Cheers,
--
Askar Bektassov (Аскар Бектасов)
Sent from webmail
For more info, LinkedIn <http://www.linkedin.com/in/askarbektassov>
On Thu, 14 Jan 2021 at 12:38, Fabian Groffen <grobian@gentoo.org> wrote:
> All,
>
> With haubi recently retiring from the project, I've taken a close look
> at platforms we have in use, and cleaned up a lot of them that we have
> absolutely no means to support (any more). This includes old Darwin and
> Solaris releases, entire support for HPUX, AIX, etc.
>
> I've left x64-cygwin and x86-winnt untouched in that process. However,
> x64-cygwin in particular requires a large amount of
> (non-trivial/disturbing) patches, basically blocking our merging of the
> Prefix overlay into gx86.
>
> It seems to me, x64-cygwin and x86-winnt have no sponsor whatsoever at
> this point within Gentoo, or our direct user-base. Some user that
> submitted a lot of patches/fixes on our bugzilla in the past pointed out
> that Cygwin is no longer necessary for him due to effortless bootstraps
> on "WSL".
>
> So, the inevitable question: who needs x64-cygwin/x86-winnt, and who
> would take care of maintaining it? If noone steps up (I cannot even run
> the platform) before Feb 1st 2021, I'll probably continue and drop these
> two from Gentoo at some point after that.
>
> Please chime in if you have an opinion, info, interest, etc.
>
> Thanks,
> Fabian
>
> --
> Fabian Groffen
> Gentoo on a different level
>
[-- Attachment #2: Type: text/html, Size: 2532 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-14 11:38 [gentoo-alt] Future of x64-cygwin, x86-winnt? Fabian Groffen
2021-01-14 13:03 ` Askar Bektassov (Аскар Бектасов)
@ 2021-01-18 5:04 ` Martin Oberzalek
2021-01-18 8:48 ` Fabian Groffen
2021-01-18 16:42 ` Sid Spry
2 siblings, 1 reply; 10+ messages in thread
From: Martin Oberzalek @ 2021-01-18 5:04 UTC (permalink / raw
To: gentoo-alt
Hello Fabian,
> So, the inevitable question: who needs x64-cygwin/x86-winnt, and who
> would take care of maintaining it? If noone steps up (I cannot even run
> the platform) before Feb 1st 2021, I'll probably continue and drop these
> two from Gentoo at some point after that.
>
> Please chime in if you have an opinion, info, interest, etc.
we are using a fork from haubi from last year und using
* x64-cygwin
* x86-winnt
* x64-winnt
x86-winnt is not so important for us. In fact, maybe we will also switch to WSL for our use case in future...
But now we are using actual cygwin versions and our fork of gentoo. Currently this is only working
with the developer release of the cygwin.dll. What I can do is: testing the gentoo prefix stack with
this upcomming new cygwin release (when its released) and give some feedback. If I can get it working I would update
https://wiki.gentoo.org/wiki/Prefix/Cygwin
Regards, Martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-18 5:04 ` Martin Oberzalek
@ 2021-01-18 8:48 ` Fabian Groffen
2021-01-19 6:57 ` Martin Oberzalek
2021-01-19 6:58 ` Martin Oberzalek
0 siblings, 2 replies; 10+ messages in thread
From: Fabian Groffen @ 2021-01-18 8:48 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1489 bytes --]
Hey Martin,
On 18-01-2021 06:04:45 +0100, Martin Oberzalek wrote:
>
> Hello Fabian,
>
> > So, the inevitable question: who needs x64-cygwin/x86-winnt, and who
> > would take care of maintaining it? If noone steps up (I cannot even run
> > the platform) before Feb 1st 2021, I'll probably continue and drop these
> > two from Gentoo at some point after that.
> >
> > Please chime in if you have an opinion, info, interest, etc.
>
> we are using a fork from haubi from last year und using
> * x64-cygwin
> * x86-winnt
> * x64-winnt
>
> x86-winnt is not so important for us. In fact, maybe we will also switch to WSL for our use case in future...
Ok, I thought *-winnt targets were native Windows code, apparently WSL
is too? (I'm just learning here, I guess.)
> But now we are using actual cygwin versions and our fork of gentoo. Currently this is only working
> with the developer release of the cygwin.dll. What I can do is: testing the gentoo prefix stack with
> this upcomming new cygwin release (when its released) and give some feedback. If I can get it working I would update
>
> https://wiki.gentoo.org/wiki/Prefix/Cygwin
I'm trying to understand what this means. I'm sure/certain the current
tree doesn't work for Cygwin. This means I anticipate you'll have to
patch/fix a lot of packages for it. Would it be more useful to use an
overlay for Cygwin instead?
Thanks,
Fabian
--
Fabian Groffen
Gentoo on a different level
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-14 11:38 [gentoo-alt] Future of x64-cygwin, x86-winnt? Fabian Groffen
2021-01-14 13:03 ` Askar Bektassov (Аскар Бектасов)
2021-01-18 5:04 ` Martin Oberzalek
@ 2021-01-18 16:42 ` Sid Spry
2021-01-19 9:46 ` [gentoo-alt] " Michael Haubenwallner
2 siblings, 1 reply; 10+ messages in thread
From: Sid Spry @ 2021-01-18 16:42 UTC (permalink / raw
To: gentoo-alt
On Thu, Jan 14, 2021, at 5:38 AM, Fabian Groffen wrote:
> Please chime in if you have an opinion, info, interest, etc.
>
Chiming in to state the platforms are all subtly different. Cygwin
is POSIX compliant (or tries to be) and allows access to the underlying
Windows APIs while WSL does not generally allow access to the rest
of the system.
MSYS2 does not aim for full POSIX compliance but does
try to offer a familiar build environment. It also supplies a package
manager CLI.
When I help someone support Windows as a target I typically suggest
using MSYS2. Server or containerized workloads are easily relocated
to WSL2 but many user facing programs can not be moved to WSL2.
I am not exactly sure this helps.
I was not aware of the winnt target.
I will see if it is useful for my purposes, as (as usual) I get annoyed
by package managers not having the latest packages and needing
to build them myself in MSYS2.
Is it possible to briefly describe the challenges of the targets?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-18 8:48 ` Fabian Groffen
@ 2021-01-19 6:57 ` Martin Oberzalek
2021-01-19 6:58 ` Martin Oberzalek
1 sibling, 0 replies; 10+ messages in thread
From: Martin Oberzalek @ 2021-01-19 6:57 UTC (permalink / raw
To: gentoo-alt
Hi Fabian,
Am Montag, den 18.01.2021, 09:48 +0100 schrieb Fabian Groffen:
> On 18-01-2021 06:04:45 +0100, Martin Oberzalek wrote:
> >
> > > So, the inevitable question: who needs x64-cygwin/x86-winnt,
> Ok, I thought *-winnt targets were native Windows code, apparently WSL
> is too? (I'm just learning here, I guess.)
You are right, *-winnt is windows native and might be important when
compiling on WSL via a compiler wrapper like parity/or other helper tool with eg: visual studio
> > But now we are using actual cygwin versions and our fork of gentoo. Currently this is only working
> > with the developer release of the cygwin.dll. What I can do is: testing the gentoo prefix stack with
> > this upcomming new cygwin release (when its released) and give some feedback. If I can get it working I would update
> >
> > https://wiki.gentoo.org/wiki/Prefix/Cygwin
>
> I'm trying to understand what this means. I'm sure/certain the current
> tree doesn't work for Cygwin. This means I anticipate you'll have to
> patch/fix a lot of packages for it. Would it be more useful to use an
> overlay for Cygwin instead?
I agree, maybe this would be a good solution.
Greetings, Martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-18 8:48 ` Fabian Groffen
2021-01-19 6:57 ` Martin Oberzalek
@ 2021-01-19 6:58 ` Martin Oberzalek
2021-01-21 20:40 ` Fabian Groffen
1 sibling, 1 reply; 10+ messages in thread
From: Martin Oberzalek @ 2021-01-19 6:58 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]
Hi Fabian,
Am Montag, den 18.01.2021, 09:48 +0100 schrieb Fabian Groffen:
> On 18-01-2021 06:04:45 +0100, Martin Oberzalek wrote:
> > > So, the inevitable question: who needs x64-cygwin/x86-winnt,
> Ok, I thought *-winnt targets were native Windows code, apparently WSL
> is too? (I'm just learning here, I guess.)
You are right, *-winnt is windows native and might be important when
compiling on WSL via a compiler wrapper like parity/or other helper tool with eg: visual studio
> > But now we are using actual cygwin versions and our fork of gentoo. Currently this is only working
> > with the developer release of the cygwin.dll. What I can do is: testing the gentoo prefix stack with
> > this upcomming new cygwin release (when its released) and give some feedback. If I can get it working I would update
> >
> > https://wiki.gentoo.org/wiki/Prefix/Cygwin
>
> I'm trying to understand what this means. I'm sure/certain the current
> tree doesn't work for Cygwin. This means I anticipate you'll have to
> patch/fix a lot of packages for it. Would it be more useful to use an
> overlay for Cygwin instead?
I agree, maybe this would be a good solution.
Greetings, Martin
[-- Attachment #2: Type: text/html, Size: 1947 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [gentoo-alt] Re: Future of x64-cygwin, x86-winnt?
2021-01-18 16:42 ` Sid Spry
@ 2021-01-19 9:46 ` Michael Haubenwallner
0 siblings, 0 replies; 10+ messages in thread
From: Michael Haubenwallner @ 2021-01-19 9:46 UTC (permalink / raw
To: gentoo-alt
On 1/18/21 5:42 PM, Sid Spry wrote:
> On Thu, Jan 14, 2021, at 5:38 AM, Fabian Groffen wrote:
>> Please chime in if you have an opinion, info, interest, etc.
>>
>
> Chiming in to state the platforms are all subtly different. Cygwin
> is POSIX compliant (or tries to be) and allows access to the underlying
> Windows APIs while WSL does not generally allow access to the rest
> of the system.
Exactly. However, since some version, WSL seems to be able to execute
binaries from the underlying Windows system, quite similar to Cygwin.
> MSYS2 does not aim for full POSIX compliance but does
> try to offer a familiar build environment. It also supplies a package
> manager CLI.
AFAICT, the MSYS2 distro uses the Cygwin DLL, but configured a little
less POSIXly, so we have decided to stick with the Cygwin distro as the
POSIX system to run Gentoo Prefix on Windows when Interix phased out.
Meanwhile, as WSL becomes more mature, and for Cygwin it is getting
harder to retain a working fork() call, WSL is a real alternative now.
>
> When I help someone support Windows as a target I typically suggest
> using MSYS2. Server or containerized workloads are easily relocated
> to WSL2 but many user facing programs can not be moved to WSL2.
>
> I am not exactly sure this helps.
>
> I was not aware of the winnt target.
> I will see if it is useful for my purposes, as (as usual) I get annoyed
> by package managers not having the latest packages and needing
> to build them myself in MSYS2.
>
> Is it possible to briefly describe the challenges of the targets?
Thanks for this question! Feels like answering is some final task for me.
There is the Parity[1] wrapper around the MSVC toolchain that does allow
to use cl.exe, link.exe and others via GCCish commandline interface. For
example$ i686-msvc16-winnt-gcc -c hello.c -o hello.exe
uses cl.exe and link.exe behind the scenes to create an MSVC native exe.
This allows to use existing POSIX build ecosystems to create native Windows
binaries: Similar to MinGW, but with MSVC toolchain, allowing to call for
M$ support if necessary.
Also, Parity does provide some header files and a static library, to allow
for some POSIX functions to be used without #ifdef _WIN32 in the source
code, reducing the amount of code changes when porting to native MSVC.
An ultimative goal could be to compile LibreOffice with MSVC using Parity
(they do use MinGW right now).
However, unlike MinGW, Parity requires the POSIXish build system to be able
to execute the MSVC toolchain, installed as usual on the Windows host system.
This is true for Interix, Cygwin and MSYS, and WSL1/2 replacing Interix.
Furthermore, Gentoo Portage (the package manager) is written in Python and
Bash, and requires the fork() system call to survive binaries being replaced.
Hence, we use Portage running (in a Gentoo Prefix instance) on the POSIXish
system, to manage a "stacked" instance of Gentoo Prefix, containing the
Windows binaries built via Parity.
Later on, using the POSIXish build system again, the final application is
built via Parity as well, linked against the Windows libraries found in the
"stacked" Prefix instance.
Finally, the POSIXish system is not required to run the application binaries.
As the created Windows binaries can be executed within the build system,
we do not require all the additional effort around real "cross" compiling
as with MinGW on Linux (unless Wine is installed too).
Instead, one could think of additional "multilib" variants here.
For completion, MSVC provides 4 variants of the runtime libs:
dynamically linked ("msvc"), dynamically linked with debug info ("msvcd"),
statically linked ("libcmt"), statically linked with debug info ("libcmtd").
Mixing them within a single process is asking for troubles, so Parity does
select the runtime variant along the host triplet. As multiple MSVC versions
can be installed together on the same Windows machine, the MSVC version used
is also selected along the host triplet. For example:
i686-msvc16-winnt: 32bit, dynamically linked runtime, Visual Studio 2019
x86_64-msvcd15-winnt: 64bit, dynamically linked rt with debug info, VS 2017
x86_64-libcmt14.0-winnt: 64bit, statically linked runtime, Visual Studio 2015
i686-libcmtd10.0-winnt: 32bit, statically linked rt with debug info, VS 2010
The parity-setup script does detect the availability of Visual Studio versions
along the Windows registry, as well as vswhere.exe since Visual Studio 2017.
Also noteworthy: Parity source code does contain a cygwin/parity.cygport file,
allowing to create Cygwin binary packages. But inclusion into the upstream
Cygwin distro would require someone to maintain these binary packages.
[1] https://github.com/mduft/parity
HTH,
/haubi/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-19 6:58 ` Martin Oberzalek
@ 2021-01-21 20:40 ` Fabian Groffen
2021-08-29 14:27 ` Fabian Groffen
0 siblings, 1 reply; 10+ messages in thread
From: Fabian Groffen @ 2021-01-21 20:40 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]
Hi Martin,
On 19-01-2021 07:58:00 +0100, Martin Oberzalek wrote:
> > > gentoo prefix stack with
> > > this upcomming new cygwin release (when its released) and give some feedback. If
> > > I can get it working I would update
> > >
> > > https://wiki.gentoo.org/wiki/Prefix/Cygwin[1]
> >
> > I'm trying to understand what this means. I'm sure/certain the current
> > tree doesn't work for Cygwin. This means I anticipate you'll have to
> > patch/fix a lot of packages for it. Would it be more useful to use an
> > overlay for Cygwin instead?
>
> I agree, maybe this would be a good solution.
I'm looking for who would maintain Cygwin/Windows, and how.
Currently there is a lot of remnants of Cygwin, but also decay. Python
for instance got its Cygwin patches dropped (they didn't apply, and we
had to move on for security and other reasons), hence I know for sure
that Cygwin support is virtually non-existant in the current tree.
I don't want to destroy the work of others, but at the current state, I
cannot maintain Cygwin or Windows (nor do I have incentive to do so).
With haubi retiring from the project, there's officially no Gentoo
developers working on this.
If a separate overlay or fork is the way to go, we can see if we can get
such repo on Gentoo hardware and set it up, turn Cygwin into a proper
sub-project or something, and move anything necessary there as not to
hold back the Prefix migration of whatever's left back into the main
gentoo repository.
Thanks,
Fabian
--
Fabian Groffen
Gentoo on a different level
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-alt] Future of x64-cygwin, x86-winnt?
2021-01-21 20:40 ` Fabian Groffen
@ 2021-08-29 14:27 ` Fabian Groffen
0 siblings, 0 replies; 10+ messages in thread
From: Fabian Groffen @ 2021-08-29 14:27 UTC (permalink / raw
To: gentoo-alt
[-- Attachment #1: Type: text/plain, Size: 1938 bytes --]
With the lack of support, and bitrot in the tree, I see no other
option but to remove x64-cygwin from the tree.
I'll do so in the coming weeks.
Fabian
On 21-01-2021 21:40:51 +0100, Fabian Groffen wrote:
> Hi Martin,
>
> On 19-01-2021 07:58:00 +0100, Martin Oberzalek wrote:
> > > > gentoo prefix stack with
> > > > this upcomming new cygwin release (when its released) and give some feedback. If
> > > > I can get it working I would update
> > > >
> > > > https://wiki.gentoo.org/wiki/Prefix/Cygwin[1]
> > >
> > > I'm trying to understand what this means. I'm sure/certain the current
> > > tree doesn't work for Cygwin. This means I anticipate you'll have to
> > > patch/fix a lot of packages for it. Would it be more useful to use an
> > > overlay for Cygwin instead?
> >
> > I agree, maybe this would be a good solution.
>
> I'm looking for who would maintain Cygwin/Windows, and how.
>
> Currently there is a lot of remnants of Cygwin, but also decay. Python
> for instance got its Cygwin patches dropped (they didn't apply, and we
> had to move on for security and other reasons), hence I know for sure
> that Cygwin support is virtually non-existant in the current tree.
>
> I don't want to destroy the work of others, but at the current state, I
> cannot maintain Cygwin or Windows (nor do I have incentive to do so).
> With haubi retiring from the project, there's officially no Gentoo
> developers working on this.
>
> If a separate overlay or fork is the way to go, we can see if we can get
> such repo on Gentoo hardware and set it up, turn Cygwin into a proper
> sub-project or something, and move anything necessary there as not to
> hold back the Prefix migration of whatever's left back into the main
> gentoo repository.
>
> Thanks,
> Fabian
>
>
> --
> Fabian Groffen
> Gentoo on a different level
--
Fabian Groffen
Gentoo on a different level
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-08-29 14:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-14 11:38 [gentoo-alt] Future of x64-cygwin, x86-winnt? Fabian Groffen
2021-01-14 13:03 ` Askar Bektassov (Аскар Бектасов)
2021-01-18 5:04 ` Martin Oberzalek
2021-01-18 8:48 ` Fabian Groffen
2021-01-19 6:57 ` Martin Oberzalek
2021-01-19 6:58 ` Martin Oberzalek
2021-01-21 20:40 ` Fabian Groffen
2021-08-29 14:27 ` Fabian Groffen
2021-01-18 16:42 ` Sid Spry
2021-01-19 9:46 ` [gentoo-alt] " Michael Haubenwallner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox