public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Yaakov Selkowitz <yselkowitz@cygwin.com>
To: cygwin-apps@cygwin.com
Subject: Re: Putting packages up for adoption
Date: Mon, 23 Mar 2020 11:45:15 -0400	[thread overview]
Message-ID: <dfd815cc9e48a678fb1b6e9f16376c0fe3fa39c3.camel@cygwin.com> (raw)
In-Reply-To: <CAO1jNwupvB6xvMJ+Pvqz5qSqEPHGa7QQTtd7+K=n=kKo=QxBJQ@mail.gmail.com>

On Mon, 2020-03-23 at 13:07 +0100, Jan Nijtmans wrote:
> Op zo 22 mrt. 2020 om 23:34 schreef Yaakov Selkowitz:
> > A word of caution wrt Tcl/Tk for Cygwin: upstream incorrectly treats
> > Cygwin as a Win32 platform, necessitating extensive patches to make it
> > comply with *NIX/X11 standards.  These patches CANNOT be dropped
> > without breaking compatibility, since Win32 and X11 APIs do not
> > interact.  Fortunately, Tcl/Tk moves rather slowly, so the existing
> > patches should serve you well for some time.
> 
> Yes, I'm aware of that. Of course, I'll be very careful to guarantee
> 100% binary compatibility.
> 
> Still, I have some questions. At first, I noted that the current Tcl
> version is 8.6.8, which is two patchlevels behind (released
> December 22, 2017, more than 3 years old, while 8.6.10
> is released November 21, 2019, 4 months ago).  Work to do!

It's only two patchlevels.  As I said, Tcl/Tk moves slowly.

> So, I tried starting with x86_64-w64-mingw32. Here are my remarks.
> 
> - There are 7 patches included. Only one of them applies cleanly,
>   the others are not really necessary (Please correct me if I'm wrong.
>   Let's go through them.

The bulk of the patchset is from Fedora, but they haven't updated
recently either.

>   - tcl-8.5.6-mingw.patch
>     This one is wrong. Changing tools for cross-compilations should
>     be done by "configure  ...  --host=x86_64-w64-mingw32"

You could try without it, it's not clear from the logs why it was
needed.

>   - tcl-8.6.1-nativezlib.patch
>     OK. Tcl provides its own zlib.dll, in case it's not available externally.
>     In Cygwin it is available (as "mingw64-x86_64-zlib"), which is prefered.
>     (I added "cygautoreconf", so this patch would be part of "configure")
>   - tcl-8.6.3-autopath.patch
>     Not necessary for building, Only needed when we want to run
>     Tcl in a non-standard installed directory.

Keep in mind that the MinGW stuff can, and in some cases actually has
to, run from within the sysroot.  (On Linux, this is done with Wine,
but obviously we can just run them directly.)  Therefore, anything
needed for running properly should be left in.

>   - tcl-8.6.5-hidden.patch
>     Wrong. This exports some internal symbols, which are not
>     supposed to be exported at all.

This is done in Fedora for their Linux builds as well.  According to
the logs, expect uses (used?) these symbols.  Since my Cygwin builds
haven't carried the patch, maybe it's no longer needed, but I'd double-
check first.

>   - tcl-8-6-5-paralle-make-fix.patch
>     Already fixed upstream. Besides, it's for unix/Makefile.in, not for mingw.

Probably just carried over from the native build patchset when first
created.

>   - tcl-mingw-w64-compatibility.patch
>     Already fixed upstream:
> <https://core.tcl-lang.org/tcl/info/8fbf108ea77e5351>

Ok.

>   - tcl-nativetclsh.patch
>     Only needed when running Tcl, not for building the libraries

See above wrt keeping MinGW runnable.

> Further on, I noted the the resulting hints file contains:
>     requires: tcl
> while I would expect:
>     requires: mingw64-x86_64-zlib

You'll have to diagnose this one.

> Here is my cygport file so far.

HTH,

--
Yaakov



  reply	other threads:[~2020-03-23 15:45 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-20  3:47 Yaakov Selkowitz
2020-03-20  5:04 ` Marco Atzeri
2020-03-20  6:05   ` ASSI
2020-03-20 10:19     ` Corinna Vinschen
2020-03-20 10:23   ` Corinna Vinschen
2020-03-20  8:13 ` Hamish McIntyre-Bhatty
2020-03-20  8:28   ` Marco Atzeri
2020-03-20  9:29 ` Jan Nijtmans
2020-03-20 10:22   ` Corinna Vinschen
2020-03-22 22:34   ` Yaakov Selkowitz
2020-03-23 12:07     ` Jan Nijtmans
2020-03-23 15:45       ` Yaakov Selkowitz [this message]
2020-03-23 21:04         ` Jan Nijtmans
2020-03-23 23:37           ` Yaakov Selkowitz
2020-03-24 11:41             ` Jan Nijtmans
2020-03-24 13:51               ` Yaakov Selkowitz
2020-03-24 14:11                 ` Jan Nijtmans
2020-03-24 14:24                   ` Yaakov Selkowitz
2020-03-24 19:27                     ` Jan Nijtmans
2020-04-01  9:10                       ` Jan Nijtmans
2020-03-20 10:19 ` Corinna Vinschen
2020-03-20 12:11   ` Jon Turney
2020-03-24 20:19   ` Andrew Schulman
2020-04-01 20:58     ` Yaakov Selkowitz
2020-04-02  7:35       ` Corinna Vinschen
2020-07-21  0:33         ` Andrew Schulman
2020-03-20 12:09 ` Jon Turney
2020-03-21 12:47   ` Thomas Wolff
2020-03-21 14:10     ` Jon Turney
2020-03-20 12:31 ` Marco Atzeri
2020-03-20 17:32   ` Achim Gratz
2020-03-20 19:16     ` Hamish McIntyre-Bhatty
2020-03-20 19:22     ` Yaakov Selkowitz
2020-03-20 20:30     ` Marco Atzeri
2020-03-22 15:34       ` ASSI
2020-03-22 16:36         ` ASSI
2020-03-22 19:49           ` Yaakov Selkowitz
2020-03-22 20:39             ` Achim Gratz
2020-03-22 19:03   ` Achim Gratz
2020-03-23 17:14     ` ASSI
2020-03-23 23:06       ` Marco Atzeri
2020-03-20 16:17 ` Doug Henderson
2020-03-21 14:12   ` Jon Turney
2020-03-26  5:54 ` Marco Atzeri
2020-03-26  7:19   ` Yaakov Selkowitz
2020-03-27 17:52     ` Marco Atzeri
2020-03-27 20:52       ` Yaakov Selkowitz
2020-03-28  3:33         ` Marco Atzeri
2020-03-30  6:01           ` Yaakov Selkowitz
2020-03-27 17:53     ` Marco Atzeri
2020-03-27 18:32       ` Hamish McIntyre-Bhatty
2020-03-27 19:10         ` Yaakov Selkowitz
2020-03-27 20:02           ` Hamish McIntyre-Bhatty
2020-04-10 12:52     ` Python - plan & execution Marco Atzeri
2020-04-23 21:54       ` Yaakov Selkowitz
2020-04-27 14:34         ` Jon Turney
2020-05-25  4:52           ` Marco Atzeri
2020-05-25 13:43             ` Jon Turney
2020-05-25 23:45             ` Yaakov Selkowitz
2020-05-26  4:31               ` Marco Atzeri
2020-06-08 19:20                 ` Jon Turney
2020-06-08 20:02                   ` Marco Atzeri
2020-06-09 13:20                     ` Jon Turney
2020-06-09 19:16                       ` Marco Atzeri
2020-06-12 14:44                         ` Jon Turney
2020-05-25  5:02       ` Marco Atzeri
2020-07-07 18:40         ` Marco Atzeri
2020-07-09 23:52           ` airplanemath
2020-07-10  5:34             ` Marco Atzeri
2020-04-04  3:17 ` Putting packages up for adoption Marco Atzeri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dfd815cc9e48a678fb1b6e9f16376c0fe3fa39c3.camel@cygwin.com \
    --to=yselkowitz@cygwin.com \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).