summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Wendel <lanius@gentoo.org>2005-02-01 18:00:19 +0000
committerHeinrich Wendel <lanius@gentoo.org>2005-02-01 18:00:19 +0000
commitc44dc01f391440366fa79d87dfdd3eb8ae7fafba (patch)
treecf4cae172baf0d64ffddf1d50c3c8e729fd87453 /x11-libs
parentopenmotif-2.2.3 still needs some testing (diff)
downloadhistorical-c44dc01f391440366fa79d87dfdd3eb8ae7fafba.tar.gz
historical-c44dc01f391440366fa79d87dfdd3eb8ae7fafba.tar.bz2
historical-c44dc01f391440366fa79d87dfdd3eb8ae7fafba.zip
add openmotif-2.2.3 with security fixes, bug #78111
Package-Manager: portage-2.0.51-r15
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/openmotif/ChangeLog18
-rw-r--r--x11-libs/openmotif/Manifest36
-rw-r--r--x11-libs/openmotif/files/digest-openmotif-2.2.31
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2bin0 -> 3362 bytes
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914.patch.bz2bin0 -> 11770 bytes
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914_sec8.patch14
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-Mwm.defaults14
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-XmResizeHashTable.patch11
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-char_not_supported.patch31
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-mwm-configdir.patch39
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-no_demos.patch101
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-pixel_length.patch11
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-popup_timeout.patch12
-rw-r--r--x11-libs/openmotif/files/openmotif-2.2.3-utf8.patch77
-rw-r--r--x11-libs/openmotif/openmotif-2.2.3.ebuild103
15 files changed, 456 insertions, 12 deletions
diff --git a/x11-libs/openmotif/ChangeLog b/x11-libs/openmotif/ChangeLog
index c65e5b4ef5f1..a7880113b731 100644
--- a/x11-libs/openmotif/ChangeLog
+++ b/x11-libs/openmotif/ChangeLog
@@ -1,6 +1,22 @@
# ChangeLog for x11-libs/openmotif
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/openmotif/ChangeLog,v 1.62 2005/01/26 21:18:48 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/openmotif/ChangeLog,v 1.63 2005/02/01 18:00:19 lanius Exp $
+
+*openmotif-2.2.3 (01 Feb 2005)
+
+ 01 Feb 2005; Heinrich Wendel <lanius@gentoo.org>
+ +files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2,
+ +files/openmotif-2.2.3-CAN-2004-0914.patch.bz2,
+ +files/openmotif-2.2.3-CAN-2004-0914_sec8.patch,
+ +files/openmotif-2.2.3-Mwm.defaults,
+ +files/openmotif-2.2.3-XmResizeHashTable.patch,
+ +files/openmotif-2.2.3-char_not_supported.patch,
+ +files/openmotif-2.2.3-mwm-configdir.patch,
+ +files/openmotif-2.2.3-no_demos.patch,
+ +files/openmotif-2.2.3-pixel_length.patch,
+ +files/openmotif-2.2.3-popup_timeout.patch,
+ +files/openmotif-2.2.3-utf8.patch, +openmotif-2.2.3.ebuild:
+ add openmotif-2.2.3 with security fixes, bug #78111
26 Jan 2005; Guy Martin <gmsoft@gentoo.org> openmotif-2.1.30-r6.ebuild:
Stable on hppa.
diff --git a/x11-libs/openmotif/Manifest b/x11-libs/openmotif/Manifest
index 118986a9d1db..7badbc8bf2f4 100644
--- a/x11-libs/openmotif/Manifest
+++ b/x11-libs/openmotif/Manifest
@@ -1,18 +1,32 @@
-MD5 9f8d7706c3af8d655842212057bc9e4f ChangeLog 8872
-MD5 dffd46174e78b327c834fc3e4b1cf848 metadata.xml 160
-MD5 df1a40bb26c9fb49af02efaa48c8e005 openmotif-2.1.30-r4.ebuild 3267
-MD5 0052a396e94ae5935dda29c00311174f openmotif-2.1.30-r5.ebuild 3684
MD5 e250238dbb27745c8c30057c07554c2e openmotif-2.1.30-r6.ebuild 3840
+MD5 03c485e587d6d243c458bc67edc7352f openmotif-2.2.3.ebuild 2783
+MD5 0052a396e94ae5935dda29c00311174f openmotif-2.1.30-r5.ebuild 3684
+MD5 d400a7026280666a5c35c043997cc72a .ChangeLog.swp 16384
MD5 918533b15b57b0261c3d96fb5a876d92 openmotif-2.1.30-r7.ebuild 3900
+MD5 e3e6157be52d3aa6cab676df5a9b613d ChangeLog 9546
+MD5 dffd46174e78b327c834fc3e4b1cf848 metadata.xml 160
+MD5 df1a40bb26c9fb49af02efaa48c8e005 openmotif-2.1.30-r4.ebuild 3267
+MD5 61fb956ff4bc34bc503cdb2226fd037b files/openmotif-2.1.30-darwin-netbsd.diff 16799
+MD5 339b1b38271b9dfdd8c476429b55787e files/openmotif-2.2.3-pixel_length.patch 450
+MD5 744ea82c1ac06c88fb0e8c93418d5a6e files/digest-openmotif-2.2.3 68
MD5 818d2d673fe5ee323f93b5a66fb1baca files/digest-openmotif-2.1.30-r4 79
MD5 818d2d673fe5ee323f93b5a66fb1baca files/digest-openmotif-2.1.30-r5 79
-MD5 61fb956ff4bc34bc503cdb2226fd037b files/openmotif-2.1.30-darwin-netbsd.diff 16799
-MD5 ed2738dd3cbdc87b0800fe9710092d18 files/openmotif-2.1.30-imake-ansi.patch 6554
-MD5 28350d5dab901ef8cd0dc92e578e3f45 files/openmotif-2.1.30-imake-tmpdir.patch 1083
-MD5 f586e24ce0a2b3eeea25a82c8ec1d3c4 files/openmotif-2.1.30-uil-bad_grammar_fix.diff 832
-MD5 7284e10e14cac30429821b824dd2f722 files/site.def 2062
-MD5 7284e10e14cac30429821b824dd2f722 files/site.def.1 2062
MD5 818d2d673fe5ee323f93b5a66fb1baca files/digest-openmotif-2.1.30-r6 79
+MD5 818d2d673fe5ee323f93b5a66fb1baca files/digest-openmotif-2.1.30-r7 79
+MD5 e408518ff6768e58a409938c473d23ce files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2 3362
MD5 8aaa33844cae66b12fcdce6b58bfe6df files/openmotif-2.1.30-xpm.diff 13134
+MD5 5f3081ba56f381a6c667c4677258d1c0 files/openmotif-2.2.3-XmResizeHashTable.patch 183
+MD5 7284e10e14cac30429821b824dd2f722 files/site.def 2062
MD5 ee3a092a933a6393bf14d5d7e6231934 files/CAN-2004-0914.patch 47085
-MD5 818d2d673fe5ee323f93b5a66fb1baca files/digest-openmotif-2.1.30-r7 79
+MD5 ed2738dd3cbdc87b0800fe9710092d18 files/openmotif-2.1.30-imake-ansi.patch 6554
+MD5 f586e24ce0a2b3eeea25a82c8ec1d3c4 files/openmotif-2.1.30-uil-bad_grammar_fix.diff 832
+MD5 ae018b1d050619b521ce52cf1a822ef9 files/openmotif-2.2.3-no_demos.patch 3803
+MD5 f89741373660d1834cb1063c06dda8fd files/openmotif-2.2.3-popup_timeout.patch 359
+MD5 644560d15450d90e787bf12ac8e77638 files/openmotif-2.2.3-char_not_supported.patch 1014
+MD5 28350d5dab901ef8cd0dc92e578e3f45 files/openmotif-2.1.30-imake-tmpdir.patch 1083
+MD5 7284e10e14cac30429821b824dd2f722 files/site.def.1 2062
+MD5 81bc342197a88eb207901ec3ea8927c7 files/openmotif-2.2.3-CAN-2004-0914.patch.bz2 11770
+MD5 aaf04376f7011a2f68b7961100f611fb files/openmotif-2.2.3-Mwm.defaults 536
+MD5 db318d4fb05541d70e7e451d46987bd1 files/openmotif-2.2.3-CAN-2004-0914_sec8.patch 491
+MD5 214cd8f46dc88caf500e6307658abfbf files/openmotif-2.2.3-utf8.patch 2979
+MD5 216193f922fae0747195fd851696b580 files/openmotif-2.2.3-mwm-configdir.patch 1549
diff --git a/x11-libs/openmotif/files/digest-openmotif-2.2.3 b/x11-libs/openmotif/files/digest-openmotif-2.2.3
new file mode 100644
index 000000000000..a6451299c75a
--- /dev/null
+++ b/x11-libs/openmotif/files/digest-openmotif-2.2.3
@@ -0,0 +1 @@
+MD5 94c96a0f94ee0d5e41d3dba2188b263d openMotif-2.2.3.tar.gz 5149785
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2 b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2
new file mode 100644
index 000000000000..b61d8e0d4f1e
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0687-0688.patch.bz2
Binary files differ
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914.patch.bz2 b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914.patch.bz2
new file mode 100644
index 000000000000..e2871ffac5df
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914.patch.bz2
Binary files differ
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914_sec8.patch b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914_sec8.patch
new file mode 100644
index 000000000000..0bf4bcbc5530
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-CAN-2004-0914_sec8.patch
@@ -0,0 +1,14 @@
+--- openMotif-2.2.3/lib/Xm/XpmWrFFrI.c.CAN-2004-0914_sec8 2004-11-29 15:04:10.105373839 +0100
++++ openMotif-2.2.3/lib/Xm/XpmWrFFrI.c 2004-11-29 15:04:10.150367679 +0100
+@@ -322,10 +322,7 @@
+ #ifndef NO_ZPIPE
+ size_t len = strlen(filename);
+
+- if(len == 0 ||
+- filename[0] == '/' ||
+- strstr(filename, "../") != NULL ||
+- filename[len-1] == '/')
++ if(len == 0)
+ return(XpmOpenFailed);
+
+ if (len > 2 && !strcmp(".Z", filename + (len - 2))) {
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-Mwm.defaults b/x11-libs/openmotif/files/openmotif-2.2.3-Mwm.defaults
new file mode 100644
index 000000000000..ea91b6fb8d86
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-Mwm.defaults
@@ -0,0 +1,14 @@
+Mwm*fontList: variable
+Mwm*iconClick: False
+Mwm*iconPlacement: top left
+Mwm*moveOpaque: True
+Mwm*rootButtonClick: True
+Mwm*foreground: #000000
+Mwm*background: #B8B8C0
+Mwm*enableThinThickness: True
+Mwm*enableEtchedInMenu: True
+Mwm*menu*fontList: -adobe-helvetica-medium-r-*--*-120-*-*-*-*-*-*
+Mwm*client*title*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-*
+Mwm*icon*fontList: -adobe-helvetica-bold-r-*--*-80-*-*-*-*-*-*
+Mwm*feedback*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-*
+Mwm*multiClickTime: 300
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-XmResizeHashTable.patch b/x11-libs/openmotif/files/openmotif-2.2.3-XmResizeHashTable.patch
new file mode 100644
index 000000000000..5982f7224922
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-XmResizeHashTable.patch
@@ -0,0 +1,11 @@
+--- lib/Xm/Hash.c
++++ lib/Xm/Hash.c
+@@ -198,6 +198,8 @@
+ } else {
+ table -> buckets[index] = current;
+ }
++ } else {
++ last = current;
+ }
+ current = next;
+ }
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-char_not_supported.patch b/x11-libs/openmotif/files/openmotif-2.2.3-char_not_supported.patch
new file mode 100644
index 000000000000..edd841b78cb6
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-char_not_supported.patch
@@ -0,0 +1,31 @@
+--- openMotif-2.2.3/lib/Xm/TextF.c.char_not_supported 2004-06-03 12:59:10.241822710 +0200
++++ openMotif-2.2.3/lib/Xm/TextF.c 2004-06-03 13:02:18.987890852 +0200
+@@ -3723,20 +3723,17 @@
+ cache_ptr = tmp = XmStackAlloc(buf_size, cache);
+
+ tmp_str = (wchar_t *)str;
+- ret_val = wctomb(tmp, *tmp_str);
++ // Fixed MZ BZ#1257: by Brad Despres <brad@sd.aonix.com>
+ count = 0;
+- while ( (ret_val > 0)&& (buf_size >= MB_CUR_MAX) && (count < n) )
+- {
+- count += 1;
+- tmp += ret_val;
+- buf_size -= ret_val;
+- tmp_str++;
+- ret_val = wctomb(tmp, *tmp_str);
+- }
+-
++ do {
++ ret_val = wctomb(tmp, *tmp_str);
++ count += 1;
++ tmp += ret_val;
++ buf_size -= ret_val;
++ tmp_str++;
++ } while ( (ret_val > 0)&& (buf_size >= MB_CUR_MAX) && (count < n) ) ;
+ if (ret_val == -1) /* bad character */
+ return (False);
+-
+ is_printable = XTextWidth(TextF_Font(tf), cache_ptr, tmp - cache_ptr);
+ XmStackFree(cache_ptr, cache);
+ return (is_printable);
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-mwm-configdir.patch b/x11-libs/openmotif/files/openmotif-2.2.3-mwm-configdir.patch
new file mode 100644
index 000000000000..c83f34aa9a27
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-mwm-configdir.patch
@@ -0,0 +1,39 @@
+diff -urN openMotif-2.2.2.orig/clients/mwm/WmResParse.c openMotif-2.2.2/clients/mwm/WmResParse.c
+--- openMotif-2.2.2.orig/clients/mwm/WmResParse.c 2002-01-10 21:55:37.000000000 +0100
++++ openMotif-2.2.2/clients/mwm/WmResParse.c 2003-06-04 22:20:22.000000000 +0200
+@@ -2411,7 +2411,7 @@
+ if (MwmBehavior)
+ {
+ strcpy(cfileName, LIBDIR);
+- strncat(cfileName, "/", MAXWMPATH-strlen(cfileName));
++ strncat(cfileName, "/mwm/", MAXWMPATH-strlen(cfileName));
+ strncat(cfileName, LANG, MAXWMPATH-strlen(cfileName));
+ strncat(cfileName, SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
+ }
+@@ -2427,7 +2427,7 @@
+ * Try /$LANG/system.mwmrc within the install tree
+ */
+ strcpy(cfileName, LIBDIR);
+- strncat(cfileName, "/", MAXWMPATH-strlen(cfileName));
++ strncat(cfileName, "/mwm/", MAXWMPATH-strlen(cfileName));
+ strncat(cfileName, LANG, MAXWMPATH-strlen(cfileName));
+ strncat(cfileName, SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
+ #endif /* WSM */
+@@ -2449,7 +2449,7 @@
+ if (MwmBehavior)
+ {
+ strcpy(cfileName, LIBDIR);
+- strncat(cfileName, SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
++ strncat(cfileName, "/mwm" SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
+ #ifdef PANELIST
+ fileP = fopen (cfileName, "r");
+ #else /* PANELIST */
+@@ -2473,7 +2473,7 @@
+ * Try /system.mwmrc within the install tree
+ */
+ strcpy(cfileName, LIBDIR);
+- strncat(cfileName, SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
++ strncat(cfileName, "/mwm" SLASH_MWMRC, MAXWMPATH - strlen(cfileName));
+
+ if (LANG != NULL)
+ {
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-no_demos.patch b/x11-libs/openmotif/files/openmotif-2.2.3-no_demos.patch
new file mode 100644
index 000000000000..d0a39693aa73
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-no_demos.patch
@@ -0,0 +1,101 @@
+--- openmotif/configure.in.no_demos 2003-09-19 18:40:33.000000000 +0200
++++ openmotif/configure.in 2003-12-16 12:16:33.000000000 +0100
+@@ -259,88 +259,4 @@
+ doc/man/man5/Makefile \
+ tools/Makefile \
+ tools/wml/Makefile \
+-demos/Makefile \
+-demos/lib/Makefile \
+-demos/lib/Xmd/Makefile \
+-demos/lib/Wsm/Makefile \
+-demos/lib/Exm/Makefile \
+-demos/lib/Exm/wml/Makefile \
+-demos/programs/Makefile \
+-demos/programs/Exm/Makefile \
+-demos/programs/Exm/app_in_c/Makefile \
+-demos/programs/Exm/app_in_uil/Makefile \
+-demos/programs/Exm/simple_app/Makefile \
+-demos/programs/airport/Makefile \
+-demos/programs/animate/Makefile \
+-demos/programs/drag_and_drop/Makefile \
+-demos/programs/draw/Makefile \
+-demos/programs/earth/Makefile \
+-demos/programs/filemanager/Makefile \
+-demos/programs/fileview/Makefile \
+-demos/programs/getsubres/Makefile \
+-demos/programs/hellomotif/Makefile \
+-demos/programs/hellomotifi18n/Makefile \
+-demos/programs/hellomotifi18n/C/Makefile \
+-demos/programs/hellomotifi18n/C/uid/Makefile \
+-demos/programs/hellomotifi18n/english/Makefile \
+-demos/programs/hellomotifi18n/english/uid/Makefile \
+-demos/programs/hellomotifi18n/french/Makefile \
+-demos/programs/hellomotifi18n/french/uid/Makefile \
+-demos/programs/hellomotifi18n/hebrew/Makefile \
+-demos/programs/hellomotifi18n/hebrew/uid/Makefile \
+-demos/programs/hellomotifi18n/japan/Makefile \
+-demos/programs/hellomotifi18n/japan/uid/Makefile \
+-demos/programs/hellomotifi18n/japanese/Makefile \
+-demos/programs/hellomotifi18n/japanese/uid/Makefile \
+-demos/programs/hellomotifi18n/swedish/Makefile \
+-demos/programs/hellomotifi18n/swedish/uid/Makefile \
+-demos/programs/i18ninput/Makefile \
+-demos/programs/panner/Makefile \
+-demos/programs/periodic/Makefile \
+-demos/programs/piano/Makefile \
+-demos/programs/popups/Makefile \
+-demos/programs/sampler2_0/Makefile \
+-demos/programs/setdate/Makefile \
+-demos/programs/todo/Makefile \
+-demos/programs/workspace/Makefile \
+-demos/programs/tooltips/Makefile \
+-demos/programs/FontSel/Makefile \
+-demos/programs/ButtonBox/Makefile \
+-demos/programs/ColorSel/Makefile \
+-demos/programs/Column/Makefile \
+-demos/programs/DropDown/Makefile \
+-demos/programs/MultiList/Makefile \
+-demos/programs/MultiList/pixmaps/Makefile \
+-demos/programs/IconB/Makefile \
+-demos/programs/Outline/Makefile \
+-demos/programs/Paned/Makefile \
+-demos/programs/TabStack/Makefile \
+-demos/programs/Tree/Makefile \
+-demos/programs/pixmaps/Makefile \
+-demos/unsupported/Makefile \
+-demos/unsupported/Exm/Makefile \
+-demos/unsupported/aicon/Makefile \
+-demos/unsupported/dainput/Makefile \
+-demos/unsupported/dogs/Makefile \
+-demos/unsupported/hellomotif/Makefile \
+-demos/unsupported/motifshell/Makefile \
+-demos/unsupported/uilsymdump/Makefile \
+-demos/unsupported/xmapdef/Makefile \
+-demos/unsupported/xmfonts/Makefile \
+-demos/unsupported/xmforc/Makefile \
+-demos/unsupported/xmform/Makefile \
+-demos/doc/Makefile \
+-demos/doc/programGuide/Makefile \
+-demos/doc/programGuide/ch05/Makefile \
+-demos/doc/programGuide/ch05/Scale/Makefile \
+-demos/doc/programGuide/ch06/Makefile \
+-demos/doc/programGuide/ch06/spin_box/Makefile \
+-demos/doc/programGuide/ch06/combo_box/Makefile \
+-demos/doc/programGuide/ch08/Makefile \
+-demos/doc/programGuide/ch08/Notebook/Makefile \
+-demos/doc/programGuide/ch08/Container/Makefile \
+-demos/doc/programGuide/ch16/Makefile \
+-demos/doc/programGuide/ch17/Makefile \
+-demos/doc/programGuide/ch17/simple_drop/Makefile \
+-demos/doc/programGuide/ch17/simple_drag/Makefile \
+ ])
+--- openmotif/Makefile.am.no_demos 2003-12-16 12:17:02.000000000 +0100
++++ openmotif/Makefile.am 2003-12-16 12:17:03.000000000 +0100
+@@ -28,6 +28,5 @@
+ include \
+ tools \
+ clients \
+- doc \
+- demos
++ doc
+ AUTOMAKE_OPTIONS = 1.4
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-pixel_length.patch b/x11-libs/openmotif/files/openmotif-2.2.3-pixel_length.patch
new file mode 100644
index 000000000000..7aba08b7ab92
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-pixel_length.patch
@@ -0,0 +1,11 @@
+--- openMotif-2.2.3/lib/Xm/DataF.c.pixel_length 2004-06-03 15:11:52.932820812 +0200
++++ openMotif-2.2.3/lib/Xm/DataF.c 2004-06-03 15:12:27.323091126 +0200
+@@ -8648,7 +8648,7 @@
+ curr_str++;
+ i++;
+ } else {
+- wchar_t tmp;
++ wchar_t tmp[XmTextF_max_char_size(tf)+1];
+ int num_conv;
+ num_conv = mbtowc(&tmp, curr_str, XmTextF_max_char_size(tf));
+ if (num_conv >= 0 && df_FindPixelLength(tf, (char*) &tmp, 1)) {
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-popup_timeout.patch b/x11-libs/openmotif/files/openmotif-2.2.3-popup_timeout.patch
new file mode 100644
index 000000000000..f216abeaf703
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-popup_timeout.patch
@@ -0,0 +1,12 @@
+--- openMotif-2.2.3/lib/Xm/MenuUtil.c.popup_timeout 2002-01-31 15:49:35.000000000 +0100
++++ openMotif-2.2.3/lib/Xm/MenuUtil.c 2004-06-08 17:14:46.311285603 +0200
+@@ -156,6 +156,9 @@
+ cursor, time)) == GrabSuccess)
+ break;
+
++ if (status == GrabInvalidTime)
++ time = CurrentTime;
++
+ XmeMicroSleep(1000);
+ }
+ if (status != GrabSuccess)
diff --git a/x11-libs/openmotif/files/openmotif-2.2.3-utf8.patch b/x11-libs/openmotif/files/openmotif-2.2.3-utf8.patch
new file mode 100644
index 000000000000..bb7c7f85d9a0
--- /dev/null
+++ b/x11-libs/openmotif/files/openmotif-2.2.3-utf8.patch
@@ -0,0 +1,77 @@
+--- openMotif-2.2.3/tools/wml/UilSymCSet.h.utf8 2004-03-04 17:41:48.000000000 +0100
++++ openMotif-2.2.3/tools/wml/UilSymCSet.h 2004-03-17 12:54:23.000000000 +0100
+@@ -32,6 +32,7 @@
+ "JISX0201.1976-0", /* jis_katakana */
+ "KSC5601.1987-0", /* ksc_hangul */
+ "KSC5601.1987-1", /* ksc_hangul_gr */
++ "UTF-8", /* utf-8 */
+ };
+ externaldef(uil_sym_glbl) char **charset_xmstring_names_table =
+ charset_xmstring_names_table_vec;
+@@ -66,6 +67,7 @@
+ XmSTRING_DIRECTION_L_TO_R, /* jis_katakana */
+ XmSTRING_DIRECTION_L_TO_R, /* ksc_hangul */
+ XmSTRING_DIRECTION_L_TO_R, /* ksc_hangul_gr */
++ XmSTRING_DIRECTION_L_TO_R, /* utf-8 */
+ };
+ externaldef(uil_sym_glbl) unsigned char *charset_writing_direction_table =
+ charset_wrdirection_table_vec;
+@@ -100,6 +102,7 @@
+ XmSTRING_DIRECTION_L_TO_R, /* jis_katakana */
+ XmSTRING_DIRECTION_L_TO_R, /* ksc_hangul */
+ XmSTRING_DIRECTION_L_TO_R, /* ksc_hangul_gr */
++ XmSTRING_DIRECTION_L_TO_R, /* utf-8 */
+ };
+ externaldef(uil_sym_glbl) unsigned char *charset_parsing_direction_table =
+ charset_parsdirection_table_vec;
+@@ -134,6 +137,7 @@
+ sym_k_onebyte_charsize, /* jis_katakana */
+ sym_k_twobyte_charsize, /* ksc_hangul */
+ sym_k_twobyte_charsize, /* ksc_hangul_gr */
++ sym_k_onebyte_charsize, /* utf-8 */
+ };
+ externaldef(uil_sym_glbl) unsigned char *charset_character_size_table =
+ charset_charsize_table_vec;
+@@ -215,6 +219,7 @@
+ "KSC_HANGUL_GL", /* ksc_hangul */
+ "KSC_HANGUL_GR", /* ksc_hangul_gr */
+ "KSC5601.1987-1", /* ksc_hangul_gr */
++ "UTF-8", /* utf-8 */
+ };
+ externaldef(uil_sym_glbl) char **charset_lang_names_table =
+ charset_lang_names_table_vec;
+@@ -295,10 +300,11 @@
+ sym_k_ksc_hangul_charset,
+ sym_k_ksc_hangul_gr_charset,
+ sym_k_ksc_hangul_gr_charset,
++ sym_k_utf8_charset,
+ };
+ externaldef(uil_sym_glbl) unsigned short int *charset_lang_codes_table =
+ charset_lang_codes_table_vec;
+ /*
+ * The number of entries in charset_lang_..._table tables
+ */
+-externaldef(uil_sym_glbl) unsigned short int charset_lang_table_max = 72;
++externaldef(uil_sym_glbl) unsigned short int charset_lang_table_max = 73;
+--- openMotif-2.2.3/tools/wml/UilSymGen.h.utf8 2004-03-04 17:41:48.000000000 +0100
++++ openMotif-2.2.3/tools/wml/UilSymGen.h 2004-03-17 12:54:23.000000000 +0100
+@@ -1417,6 +1417,7 @@
+ #define sym_k_jis_katakana_charset 21
+ #define sym_k_ksc_hangul_charset 22
+ #define sym_k_ksc_hangul_gr_charset 23
++#define sym_k_utf8_charset 24
+
+ /* Define literals for automatic children */
+
+--- openMotif-2.2.3/tools/wml/motif.wml.utf8 2003-10-08 23:07:47.000000000 +0200
++++ openMotif-2.2.3/tools/wml/motif.wml 2004-03-17 12:56:09.000000000 +0100
+@@ -163,6 +163,9 @@
+ ksc_hangul_gr
+ { XmStringCharsetName = "KSC5601.1987-1";
+ CharacterSize = TwoByte; };
++ utf8
++ { XmStringCharsetName = "UTF-8"; };
++
+ XmFONTLIST_DEFAULT_TAG
+ { FontListElementTag = XmFONTLIST_DEFAULT_TAG; };
+
diff --git a/x11-libs/openmotif/openmotif-2.2.3.ebuild b/x11-libs/openmotif/openmotif-2.2.3.ebuild
new file mode 100644
index 000000000000..d11e121ca85f
--- /dev/null
+++ b/x11-libs/openmotif/openmotif-2.2.3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/openmotif/openmotif-2.2.3.ebuild,v 1.1 2005/02/01 18:00:19 lanius Exp $
+
+inherit eutils libtool flag-o-matic multilib
+
+MY_P=${P/m/M}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="Open Motif"
+HOMEPAGE="http://www.motifzone.org/"
+SRC_URI="ftp://ftp.motifzone.net/om${PV}/src/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MOTIF"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~ppc-macos ~sparc ~x86"
+
+PROVIDE="virtual/motif"
+
+DEPEND="virtual/libc
+ virtual/x11
+ >=sys-apps/sed-4
+ sys-devel/automake
+ sys-devel/autoconf"
+
+RDEPEND="virtual/libc
+ virtual/x11"
+
+pkg_setup() {
+ # multilib includes don't work right in this package...
+ [ -n "${ABI}" ] && append-flags "-I/usr/include/gentoo-multilib/${ABI}"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # various patches
+ epatch ${FILESDIR}/${P}-mwm-configdir.patch
+ epatch ${FILESDIR}/${P}-CAN-2004-0687-0688.patch.bz2
+ epatch ${FILESDIR}/${P}-CAN-2004-0914.patch.bz2
+ epatch ${FILESDIR}/${P}-CAN-2004-0914_sec8.patch
+ epatch ${FILESDIR}/${P}-char_not_supported.patch
+ epatch ${FILESDIR}/${P}-pixel_length.patch
+ epatch ${FILESDIR}/${P}-popup_timeout.patch
+ epatch ${FILESDIR}/${P}-XmResizeHashTable.patch
+ epatch ${FILESDIR}/${P}-utf8.patch
+ epatch ${FILESDIR}/${P}-no_demos.patch
+
+ # autotool stuff
+ export WANT_AUTOCONF=2.5
+ export WANT_AUTOMAKE=1.4
+
+ libtoolize --force --copy
+ aclocal || die
+ automake --foreign || die
+ autoconf || die
+}
+
+
+src_compile() {
+ # get around some LANG problems in make (#15119)
+ unset LANG
+
+ # fails to copmile with -jx
+ export MAKEOPTS="${MAKEOPTS} -j1"
+
+ econf --with-x || die "configuration failed"
+
+ emake || die "make failed, if you have lesstif installed removed it, compile openmotif and recompile lesstif"
+}
+
+
+src_install() {
+ make DESTDIR=${D} install || die "make install failed"
+
+ # move system.mwmrc & create symlink & fix manpages
+ dodir "/etc/X11/mwm"
+ mv "${D}/usr/$(get_libdir)/X11/system.mwmrc" "${D}/etc/X11/mwm/system.mwmrc"
+ dosym "/etc/X11/mwm" "/usr/$(get_libdir)/X11/mwm"
+
+ list="/usr/share/man/man1/mwm.1 /usr/share/man/man4/mwmrc.4"
+ for f in $list; do
+ dosed 's:/usr/lib/X11/\(.*system\\&\.mwmrc\):/etc/X11/mwm/\1:g' "$f"
+ dosed 's:/usr/lib/X11/app-defaults:/etc/X11/app-defaults:g' "$f"
+ done
+
+ # app-defaults/Mwm isn't included anymore as of 2.2
+ insinto /etc/X11/app-defaults
+ newins ${FILESDIR}/${P}-Mwm.defaults Mwm
+
+ # remove unneeded files
+ rm -fR ${D}/usr/$(get_libdir)/X11/bindings
+
+ # install docs
+ dodoc COPYRIGHT.MOTIF LICENSE
+ dodoc README RELEASE RELNOTES
+ dodoc BUGREPORT TODO
+}
+
+pkg_postinst() {
+ ewarn "This breaks applications linked against libXm.so.2."
+ ewarn "You have to rebuild these applications with revdep-rebuild."
+}