Re: Updating glib2.0

2020-05-28 Thread Ken Brown via Cygwin-apps

On 5/28/2020 7:20 AM, Achim Gratz wrote:
1. It's probably unrealistic to expect someone to adopt all the GNOME 
components.  If such a person existed, I think we would have heard from 
him/her by now.


Ideally that person would have some ties into the upstream development community 
as well.  It might be worth asking there directly if anybody has any points of 
contact already (I don't).


I'm pretty sure there's no one there (or at least no one who works on glib) who 
understands Cygwin.  For years, Yaakov has used a "Cygwin is not win32" patch in 
his Cygwin build of glib2.0.  About a year ago someone noticed this and patched 
the glib sources in an effort to capture the intent of Yaakov's patch.  (They 
didn't just apply his patch!)  They didn't get it quite right, but they made 
progress, and the corresponding patch needed today is much smaller than the old one.


My point here is that whoever made this change had good intentions but is not 
qualified to be a Cygwin maintainer, even if they wanted to be.  And no one else 
has touched that code.


2. I'm willing to adopt various components on an as-needed basis.  For 
example, since I want to update gimp and it needs an updated glib2.0, I'm 
willing to adopt the latter and update it to its latest release. I've just 
started working on it and discovered that it needs an updated gtk-doc, so I'll 
plan on adopting that too.


I think the current way of adopting as needed and then immediately letting it 
fall into orphaned status again is better than doing nothing, but eventually 
we'll run into troublöe with that model.


If I were to adopt some of these packages, I would do it with the intention of 
keeping them up to date.  But I'll wait to hear from Yaakov.  If he thinks it's 
better to keep the GNOME components at their current state until someone is 
willing to adopt all of them, I'll go along with that.


Ken


Re: Updating glib2.0

2020-05-28 Thread Achim Gratz
1. It's probably unrealistic to expect someone to adopt all the GNOME 
components.  If such a person existed, I think we would have heard from 
him/her by now.


Ideally that person would have some ties into the upstream development 
community as well.  It might be worth asking there directly if anybody 
has any points of contact already (I don't).


2. I'm willing to adopt various components on an as-needed basis.  For 
example, since I want to update gimp and it needs an updated glib2.0, 
I'm willing to adopt the latter and update it to its latest release.  
I've just started working on it and discovered that it needs an updated 
gtk-doc, so I'll plan on adopting that too.


I think the current way of adopting as needed and then immediately 
letting it fall into orphaned status again is better than doing nothing, 
but eventually we'll run into troublöe with that model.



--
Achim.

(on the road :-)



Re: Updating glib2.0

2020-05-27 Thread Ken Brown via Cygwin-apps

On 5/23/2020 2:08 PM, Ken Brown via Cygwin-apps wrote:

On 5/22/2020 7:18 PM, Ken Brown via Cygwin-apps wrote:
I've been planning to adopt gimp and some related build dependencies.  My 
reason is that I use gimp and would like to see it kept up to date.


I thought I had all the prerequisites I needed.  But when I built gimp, I 
discovered that it used two functions, g_set_weak_pointer and 
g_date_time_new_from_iso8601, that were introduced in glib-2.56.


[gimp's configure.ac says that it only requires glib 2.54.2, but this seems to 
be wrong.  Cygwin's glib is at 2.54.3.  Fedora's is at 2.64.3, which is the 
latest upstream release.]


I'd appreciate some advice about how to proceed.  I'm not interested in 
adopting all of GNOME, and it probably doesn't make sense for different 
components of GNOME to be adopted by different people.


A short-term solution (from my personal POV) would be for me to do a 
non-maintainer update of glib to 2.56, assuming that's doable without messing 
up other GNOME components.


A better solution (again from my personal POV) would be for someone to adopt 
GNOME and update it to its latest release.


To focus the discussion a little better, I've built and installed 
glib2.0-2.56.4.  My cygport file and patches are attached.  I can now build 
gimp-2.10.18, and it seems to run fine in limited testing.


Sorry to keep replying to myself, but I have some further thoughts.

1. It's probably unrealistic to expect someone to adopt all the GNOME 
components.  If such a person existed, I think we would have heard from him/her 
by now.


2. I'm willing to adopt various components on an as-needed basis.  For example, 
since I want to update gimp and it needs an updated glib2.0, I'm willing to 
adopt the latter and update it to its latest release.  I've just started working 
on it and discovered that it needs an updated gtk-doc, so I'll plan on adopting 
that too.


3. I don't use the GNOME desktop environment, so I am not going to adopt 
packages like gnome-session, gnome-flashback, etc., which I can't easily test.


If no one objects, I'll continue sending ITAs and updating individual GNOME 
components as I need them.


Ken


Re: Updating glib2.0

2020-05-23 Thread Ken Brown via Cygwin-apps

On 5/22/2020 7:18 PM, Ken Brown via Cygwin-apps wrote:
I've been planning to adopt gimp and some related build dependencies.  My reason 
is that I use gimp and would like to see it kept up to date.


I thought I had all the prerequisites I needed.  But when I built gimp, I 
discovered that it used two functions, g_set_weak_pointer and 
g_date_time_new_from_iso8601, that were introduced in glib-2.56.


[gimp's configure.ac says that it only requires glib 2.54.2, but this seems to 
be wrong.  Cygwin's glib is at 2.54.3.  Fedora's is at 2.64.3, which is the 
latest upstream release.]


I'd appreciate some advice about how to proceed.  I'm not interested in adopting 
all of GNOME, and it probably doesn't make sense for different components of 
GNOME to be adopted by different people.


A short-term solution (from my personal POV) would be for me to do a 
non-maintainer update of glib to 2.56, assuming that's doable without messing up 
other GNOME components.


A better solution (again from my personal POV) would be for someone to adopt 
GNOME and update it to its latest release.


To focus the discussion a little better, I've built and installed 
glib2.0-2.56.4.  My cygport file and patches are attached.  I can now build 
gimp-2.10.18, and it seems to run fine in limited testing.


Ken
Fix for -Werror=nested-externs

--- origsrc/glib-2.34.3/m4macros/glib-gettext.m42012-11-20 
08:27:12.0 -0600
+++ src/glib-2.34.3/m4macros/glib-gettext.m42013-04-15 02:04:25.707401500 
-0500
@@ -222,8 +222,8 @@ msgstr ""
  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
  GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
- AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
-return _nl_msg_cat_cntr],
+ AC_TRY_LINK([extern int _nl_msg_cat_cntr;],
+ [return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo 
  DATADIRNAME=share],
[case $host in
--- origsrc/glib-2.36.3/configure.ac2013-08-04 20:21:20.808722600 -0500
+++ src/glib-2.36.3/configure.ac2013-08-04 18:30:21.852852200 -0500
@@ -1880,7 +1880,7 @@ dnl 
 
 AC_MSG_CHECKING(for platform-dependent source)
 case "$host" in
-  *-*-cygwin*|*-*-mingw*)
+  *-*-mingw*)
 PLATFORMDEP=gwin32.lo
 ;;
   *)
@@ -2594,9 +2594,6 @@ dnl *** Win32 API libs ***
 dnl **
 
 case $host in
-  *-*-cygwin*)
-   G_LIBS_EXTRA="-luser32 -lkernel32"
-;;
   *-*-mingw*)
G_LIBS_EXTRA="-lws2_32 -lole32 -lwinmm -lshlwapi"
 ;;
--- origsrc/glib-2.36.3/docs/reference/gio/Makefile.am  2013-08-04 
20:21:20.849725000 -0500
+++ src/glib-2.36.3/docs/reference/gio/Makefile.am  2013-08-04 
18:11:14.0 -0500
@@ -77,6 +77,8 @@ IGNORE_HFILES = \
gunixvolume.h   \
gunixvolumemonitor.h\
gwin32appinfo.h \
+   gwin32inputstream.h \
+   gwin32outputstream.h\
gwin32mount.h   \
gwin32resolver.h\
gwin32volumemonitor.h
--- origsrc/glib-2.36.3/gio/giomodule-priv.h2013-08-04 20:21:20.877726600 
-0500
+++ src/glib-2.36.3/gio/giomodule-priv.h2013-08-04 18:11:14.0 
-0500
@@ -39,7 +39,7 @@ GType_g_io_module_get_default_type (
 const gchar *envvar,
 guintis_supported_offset);
 
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
 void *_g_io_win32_get_module (void);
 #endif
 
--- origsrc/glib-2.36.3/gio/giomodule.c 2013-08-04 20:21:20.886727100 -0500
+++ src/glib-2.36.3/gio/giomodule.c 2013-08-04 18:11:14.0 -0500
@@ -894,7 +894,7 @@ extern GType g_network_monitor_base_get_
 extern GType _g_network_monitor_netlink_get_type (void);
 #endif
 
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
 
 #include 
 
--- origsrc/glib-2.36.3/gio/tests/live-g-file.c 2013-08-04 20:21:20.898727800 
-0500
+++ src/glib-2.36.3/gio/tests/live-g-file.c 2013-08-04 18:11:14.0 
-0500
@@ -1282,7 +1282,7 @@ main (int argc, char *argv[])
  write_test = TRUE;
  only_create_struct = FALSE;
  target_path = DEFAULT_TEST_DIR;
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
  posix_compat = FALSE;
 #else
  posix_compat = TRUE;
--- origsrc/glib-2.36.3/glib/gatomic.c  2013-08-04 20:21:20.907728300 -0500
+++ src/glib-2.36.3/glib/gatomic.c  2013-08-04 18:11:14.0 -0500
@@ -464,7 +464,7 @@ gsize
   return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
 }
 
-#elif defined (G_PLATFORM_WIN32)
+#elif defined (G_OS_WIN32)
 
 #include 
 #if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined 
_MSC_VER && _MSC_VER <= 1200)
--- origsrc/glib-2.36.3/glib/gcharset.c 2013-08-04 20:21:20.925729300 -0500
+++ src/glib-2.36.3/glib/gcharset.c 2013-08-04 18:11:14.0 

Updating glib2.0

2020-05-22 Thread Ken Brown via Cygwin-apps
I've been planning to adopt gimp and some related build dependencies.  My reason 
is that I use gimp and would like to see it kept up to date.


I thought I had all the prerequisites I needed.  But when I built gimp, I 
discovered that it used two functions, g_set_weak_pointer and 
g_date_time_new_from_iso8601, that were introduced in glib-2.56.


[gimp's configure.ac says that it only requires glib 2.54.2, but this seems to 
be wrong.  Cygwin's glib is at 2.54.3.  Fedora's is at 2.64.3, which is the 
latest upstream release.]


I'd appreciate some advice about how to proceed.  I'm not interested in adopting 
all of GNOME, and it probably doesn't make sense for different components of 
GNOME to be adopted by different people.


A short-term solution (from my personal POV) would be for me to do a 
non-maintainer update of glib to 2.56, assuming that's doable without messing up 
other GNOME components.


A better solution (again from my personal POV) would be for someone to adopt 
GNOME and update it to its latest release.


Ken