Opened 13 years ago

Closed 3 years ago

#14 closed enhancement (wontfix)

glib: Collect patches

Reported by: dmik Owned by:
Priority: major Milestone: dev tools
Component: glib Version:
Severity: low Keywords:
Cc: dryeo

Description

There are several OS/2 patches for glib out there. We should incorporate them all here, if not already done (when appropriate).

Attachments (3)

glib-2.6.5.diff.orig (68.5 KB ) - added by dmik 13 years ago.
glib-2.6.5.diff (54.6 KB ) - added by dmik 13 years ago.
glib-2.18.4.diff (3.3 KB ) - added by dmik 13 years ago.

Download all attachments as: .zip

Change History (19)

comment:1 by dmik, 13 years ago

I have two patch sets. One from the glib-2.6.5 archive (found on Hobbes) and another one from Paul Smedley for glib-2.18.4.

It seems that many glib-2.6.5 patches are already applied. But there are some more left. It needs to be checked which of them are still relevant (some may be not since libc has changed a lot since then and we implement the Unix env much better now). The original patch is attached with the .orig extension, the reminter (excluding which was is applied and which is certainly not necessary) -- with .diff.

The Paul's patch is rather cosmetic but needs to be checked as well.

by dmik, 13 years ago

Attachment: glib-2.6.5.diff.orig added

by dmik, 13 years ago

Attachment: glib-2.6.5.diff added

by dmik, 13 years ago

Attachment: glib-2.18.4.diff added

comment:2 by dmik, 13 years ago

Note also that the gio library and some tests don't currently build (some stuff needs to be ported to OS/2 first) so I disabled it in r489.

Note also that DLLs have full names now: gmodule2.dll, gthread2.dll etc (I find it more convenient).

comment:3 by dryeo, 13 years ago

Cc: dryeo added

comment:4 by dmik, 13 years ago

I have added the native g_spawn implementation (that uses spawn() instead of fork()) from the 2.6.5 patch to SVN. See r498.

comment:5 by dmik, 10 years ago

Will use this defect to track progress of building the current trunk which is at level 2.33.12 (the current RPM build is 2.25.15). For some reason Yuri didn't release RPMs for 2.33.12.

Yuri, could you please tell why you did never release 2.33.12?

Anyway, I'm now reconfiguring glib with all our new and shiny autoconf/libtool. This draws some commits useless. I will roll them back. Also, the naming scheme for the Glib DLLs will change to follow the libtool's version-info logic (followed by all other platforms). The current base name of e.g the glib library itself is libglib-2.0 which gives us libglib-2.0.so.N on linux where N is the CURRENT-AGE number. Currently, this equals to 0. On OS/2, we will shorten the base name to glib2 (as it is already is) but N will also be added due to recent changes in libtool. So on OS/2 this will give us glib20.dll. This is incompatible with the current name glib2.dll so all projects using RPM Glib will need to be rebuilt (I only recall the Firefox IcedTea Web Java plugin so far).

comment:6 by dmik, 10 years ago

After a series of fixes (including libtool) It /almost/ builds now. However, one of the generators in gio/tests fails with the following message:

  GEN      test_resources.c
GLib (gthread-posix.c): Unexpected error from C library during 'pthread_rwlock_init': Invalid argument.  Aborting.

Killed by SIGABRT
pid=0xde21 ppid=0xde00 tid=0x0001 slot=0x00e7 pri=0x0200 mc=0x0001 ps=0x0010
D:\CODING\PORTS\GLIB\TRUNK-BUILD\GIO\GLIB-COMPILE-RESOURCES.EXE
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
[1]   Abort trap              sh.exe ../../lib...
make[4]: *** [test_resources.c] Error 134
make[4]: *** Waiting for unfinished jobs....

Looks like it uses the unimplemented part of our pthread. I will quickly look at it tomorrow. If it's not easily solvable, I will disable gio/tests.

Last edited 10 years ago by dmik (previous) (diff)

comment:7 by dmik, 10 years ago

I had to disable tests completey with --disable-modular-tests in order to make it build (and created #43 to solve this issue later). Now glib 2.33.12 finally builds. I will create an RPM later after testing it more with the new version of the Iced Tea plugin (http://trac.netlabs.org/java/ticket/230).

Version 0, edited 10 years ago by dmik (next)

comment:8 by dmik, 10 years ago

New glib a new primitive, GWakeup. The old OS/2 fix that used socketpair instead of pipe vanished as a result of this change. This broke event loop processing, see http://trac.netlabs.org/java/ticket/230#comment:6 for details. I need to resurrect it.

comment:9 by dmik, 10 years ago

Fixed this in r915.

comment:10 by Silvan Scherrer, 10 years ago

Component: *noneglib

comment:11 by Silvan Scherrer, 9 years ago

Milestone: dev tools
Severity: low

comment:12 by Yuri Dario, 8 years ago

r1603, remove libtool export workaround.
r1604, adjust charset.alias table as in rpm ticket#181.
r1605, use ISO8859-1 as default mapping, added _EURO locales.

spec: glib2, build release 2.33.
http://trac.netlabs.org/rpm/changeset/805

spec: glib2, build release 2.33, locale updates.
http://trac.netlabs.org/rpm/changeset/806

spec: glib2, pango, yum-metadata-parser, libidl build updates for glib2 2.33.
http://trac.netlabs.org/rpm/changeset/807

spec: gettext, cairo, pkgconfig, rebuild for glib2 2.33.
http://trac.netlabs.org/rpm/changeset/810

comment:13 by dmik, 8 years ago

@ydario thanks for taking care of Russian and Ukrainian locales in r1604. What I don't like though is that this code is applied to the FreeBSD case which makes the current patch not applicable upstream. Can you please fix it so that the default charset is set only on OS/2 and not on FreeBSD?

comment:14 by Yuri Dario, 8 years ago

Done in committed revision r1640.

comment:15 by Yuri Dario, 8 years ago

gettext is not using charset.alias because it embeds the list of known codepage aliases. Since the source code is the same, I added the missing bits.

glib: use gettext code to embed codepage aliases. ticket#14.
Sending libcharset/localcharset.c
Committed revision r1643.

comment:16 by Silvan Scherrer, 3 years ago

Resolution: wontfix
Status: newclosed

most of the fixes are applied, so I close this issue. a way newer glib2 port is on the way. see http://github.com/bitwiseworks/glib2-os2

Note: See TracTickets for help on using tickets.