Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 303499 - x11-libs/openmotif: Move prefix version to main tree
Summary: x11-libs/openmotif: Move prefix version to main tree
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Ulrich Müller
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-04 19:41 UTC by Ulrich Müller
Modified: 2010-02-11 11:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
iconv detection based on AM_ICONV() (iconv-detection.patch,1.91 KB, patch)
2010-02-04 20:06 UTC, Fabian Groffen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Müller gentoo-dev 2010-02-04 19:41:33 UTC
<ulm> grobian: I'm looking at x11-libs/openmotif and I notice that prefix has
      a patch for some libiconv issue
<ulm> is this still an issue?
<ulm> I had reported it upstream some time ago:
      http://bugs.motifzone.net/show_bug.cgi?id=1423 so it should be fixed in
      the newest version                                                [19:52]
<grobian> you mean the solaris 2.11 bug?
<grobian> or      use unicode && append-libs -liconv
<ulm> the second one
<grobian> need to test                                                  [19:53]
<grobian> but the AM_ICONV test is quite big for a good reason
<ulm> grobian: that's in automake now?                                  [19:54]
<grobian> ulm: I'll test on solaris now
<grobian> if you have gettext installed                                 [19:55]
<grobian> iconv.m4
<ulm> yeah, this I know
<ulm> see my comment on that bug 1423
<grobian> I read it
<grobian> they prolly don't like having the need for gettext on their dev
          systems                                                       [19:56]
<ulm> grobian: about that -solaris-2.11.patch: is there anything better than
      defined(sun) that could be tested?                                [19:57]
<ulm> I don't really like to apply patches for some systems only
<grobian> well, that line is already pretty much "system only"
<ulm> hm, and what happens for sparc under linux?                       [19:58]
<grobian> doesn't set sun, does it
<ulm> ah ok
<grobian> but second
<grobian> I'll look up the well accepted way to do it
<grobian> #if defined (__SVR4) && defined (__sun)                       [19:59]
<ulm> should be reported upstream, too ;)                               [20:00]
<grobian> I have no clue why iy's conditional though
<grobian> ohw                                                           [20:01]
<grobian> shit
<grobian> it's sol11
<grobian> works on sol10
<ulm> so the above isn't right?
<grobian> not unconditionally
<ulm> no symbol that can be tested on solaris 11?                       [20:02]
<grobian> hmmm, I thought lsof did that
<grobian> but I really should look at the issue instead
<grobian> because maybe one can easily write an autoconf check          [20:03]
<ulm> grobian: it's strange that solaris 11 has no usable Xos_r.h, in the
      first place                                                       [20:04]
<grobian> not really
<grobian> opensolaris is a bit of a mess
<ulm> because normally that Xmos_r.h is not needed
<grobian> it's like fedora to redhat
<grobian> it has Xmos_r.h                                               [20:05]
<grobian> but no Xos_r.h
<grobian> but if that's the code, I'd say let configure check for Xos_r.h and
          have a proper HAVE_XOS_R_H conditional instead                [20:06]
<ulm> configure.ac has the following:                                   [20:09]
<ulm> AC_CHECK_HEADER(X11/Xos_r.h,,AC_DEFINE(NEED_XOS_R_H,1,System Missing
      Xos_r.h))
<ulm> why isn't it working?                                             [20:10]
<grobian> ulm: http://paste.pocoo.org/raw/173929/
<grobian> so, need AM_ICONV() or my lazy hack
<grobian> ulm: checking on sol11 now                                    [20:13]
<grobian> checking X11/Xos_r.h usability... yes                         [20:15]
<grobian> checking X11/Xos_r.h presence... yes
<grobian> checking for X11/Xos_r.h... yes
<grobian> interesting
<grobian> must come from prefix then
<ulm> grobian: sure that AM_ICONV works? I'll reopen upstream bug 1423 then
                                                                        [20:17]
<grobian> if that gettext macro is used, it does a special solaris case to
          make sure it doesn't fall in the trap of thinking sufficient iconv
          is available
<grobian> so, yes
<grobian> if the gettext macro is used, it will work properly
<grobian> ulm: http://paste.pocoo.org/show/173932/                      [20:18]

libtool: compile:  x86_64-pc-solaris2.11-gcc -DHAVE_CONFIG_H -I. -I../../include -I.. -I./.. -DXMBINDDIR_FALLBACK=\"/net/pegasus.ins.cwi.nl/export/scratch/stripe/fabian/gentoo/prefix64/usr/lib/X11/bindings\" -DINCDIR=\"/net/pegasus.ins.cwi.nl/export/scratch/stripe/fabian/gentoo/prefix64/usr/include/X11\" -DLIBDIR=\"/net/pegasus.ins.cwi.nl/export/scratch/stripe/fabian/gentoo/prefix64/usr/lib/X11\" -I/net/pegasus.ins.cwi.nl/export/scratch/stripe/fabian/gentoo/prefix64/usr/include -O3 -pipe -march=athlon64 -fno-strict-aliasing -DNEED_XOS_R_H=1 -Wall -g -fno-strict-aliasing -Wno-unused -Wno-comment -fno-tree-ter -MT Xmos.lo -MD -MP -MF .deps/Xmos.Tpo -c Xmos.c  -fPIC -DPIC -o .libs/Xmos.o
Xmos.c: In function '_XmOSGetDirEntries':
Xmos.c:829: error: too few arguments to function 'readdir_r'
make[3]: *** [Xmos.lo] Error 1
make[3]: Leaving directory `/net/pegasus.ins.cwi.nl/export/scratch/stripe/fabian/gentoo/prefix64/var/tmp/portage/x11-libs/openmotif-2.3.2/work/openmotif-2.3.2/lib/Xm'

<grobian> solaris 11 aparently made an api change here                  [20:19]
<grobian> http://paste.pocoo.org/show/173933/

SYNOPSIS
       #include <sys/types.h>
       #include <dirent.h>

       struct dirent *readdir(DIR *dirp);

       struct dirent *readdir_r(DIR *dirp, struct dirent *entry);

   Standard conforming
       cc [ flag... ] file... -D_POSIX_PTHREAD_SEMANTICS [ library... ]

       int readdir_r(DIR *restrict dirp, struct dirent *restrict entry,
            struct dirent **restrict result);

<grobian> maybe that helps
<ulm> probably means that it compiles with Xmos_r.h but may fail at runtime
                                                                        [20:21]
<grobian> it looks like a maze                                          [20:23]
<ulm> grobian: I guess we'll also need some nasty RESTRICT="fetch bindist" for
      openmotif, at least on aix/hpux/interix
<ulm> not sure about solaris                                            [20:24]
<grobian> I think that's why I did this conditional patch
<grobian> huh?
<grobian> why is that?
<ulm> grobian: http://paste.pocoo.org/show/173936/                      [20:25]

This software is subject to an open license. It may only be
used on, with or for operating systems which are themselves open
source systems. You must contact The Open Group for a license allowing
distribution and sublicensing of this software on, with, or for
operating systems which are not Open Source programs.

<grobian> ohw
<grobian> so solaris should be ok then
<grobian> great                                                         [20:26]
<ulm> with "operating system" they mean the kernel
<ulm> so darwin should be o.k.
<grobian> solaris kernel is open
<grobian> darwin xnu is open too
<grobian> windows/sfu no way
<grobian> aix, hpux, true, no way too
<ulm> yeah, leaves us with aix, hpux, and interix
<grobian> teh crap                                                      [20:27]
<ulm> revive lesstif :p
<grobian> haubi and mduft are not going to like it
<ulm> yeah, that's called "nonfree software" :(                         [20:28]
<ulm> but I doubt that we can legally distribute it without at least a
      RESTRICT                                                          [20:29]
<grobian> yeah, I think we're in violation this way                     [20:30]
Comment 1 Fabian Groffen gentoo-dev 2010-02-04 20:06:23 UTC
Created attachment 218441 [details, diff]
iconv detection based on AM_ICONV()

This patch makes it compile on Solaris 10 using the gettext AM_ICONV() macro to detect iconv in the many tricky ways that are necessary.  See also http://www.gnu.org/software/hello/manual/gettext/AM_005fICONV.html
Comment 2 Ulrich Müller gentoo-dev 2010-02-06 20:49:39 UTC
(In reply to comment #1)
> Created an attachment (id=218441) [details]
> iconv detection based on AM_ICONV()

Reported upstream. For the time being, I don't really like to add gettext as additional dependency, so we can go with the existing solution (i.e. add an explicit -liconv to LIBS).

openmotif-2.3.2-r1 incorporates most changes from the prefix overlay (fixes for Solaris 11 are still missing).

I've split off the PDF documentation into a package app-doc/openmotif-manual, please add it to your whitelist.
Comment 3 Fabian Groffen gentoo-dev 2010-02-11 10:25:17 UTC
how was/is the licence issue fixed?
Comment 4 Ulrich Müller gentoo-dev 2010-02-11 10:57:19 UTC
(In reply to comment #3)
> how was/is the licence issue fixed?

I've added a pkg_nofetch that displays the relevant paragraph from the license, and the following RESTRICT:

RESTRICT="!kernel_linux? (
        !kernel_FreeBSD? (
        !kernel_Darwin? (
        !kernel_SunOS? (
                fetch bindist
        ) ) ) )"

Comment 5 Fabian Groffen gentoo-dev 2010-02-11 11:32:06 UTC
ok, that should do, thanks!