Magellan Linux

Annotation of /smage/trunk/core/ncurses/ncurses-5.7-r5.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 663 - (hide annotations) (download)
Thu Oct 21 12:13:39 2010 UTC (13 years, 6 months ago) by niro
File size: 5117 byte(s)
-mcore
1 niro 662 # $Id: ncurses-5.7-r4.smage2 5487 2010-06-30 00:01:42Z niro $
2    
3     PNAME="ncurses"
4     PVER="5.7"
5     PBUILD="r5"
6    
7     PCATEGORIE="sys-libs"
8     STATE="unstable"
9    
10     DESCRIPTION="Linux console display library."
11     HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html"
12    
13     DEPEND=">= virtual/glibc"
14    
15     SRCFILE="${PNAME}-${PVER}.tar.gz"
16     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
17    
18 niro 663 MCORE_ONLY_KEEP="$(mlibdir)/*.so
19     $(mlibdir)/*.so.*
20     usr/$(mlibdir)/*.so
21     usr/$(mlibdir)/*.so.*
22     usr/share/tabset
23     usr/share/terminfo/l/linux
24     usr/share/terminfo/r/rxvt
25     usr/share/terminfo/v/vt100
26     usr/share/terminfo/x/xterm
27     usr/share/terminfo/x/xterm-color"
28 niro 662
29 niro 663 sminclude mtools multilib mcore-split
30    
31 niro 662 SRC_URI=(
32     gnu://${PNAME}/${SRCFILE}
33     mirror://${PNAME}/${SRCFILE}
34     mirror://${PNAME}/${PNAME}-${PVER}-branch-update-20081213.patch
35     )
36    
37     UP2DATE="updatecmd_gnu ${PNAME} gz"
38    
39     src_prepare()
40     {
41     # non widec
42     munpack ${SRCFILE} || die
43     for abi in ${MULTILIB_ABIS}
44     do
45     mv ${SRCDIR}{,-non-widec}-${abi} || die
46     done
47     SRCDIR="${SRCDIR}-non-widec" mpatch ${PNAME}-${PVER}-branch-update-20081213.patch || die
48    
49     # widec
50     munpack ${SRCFILE} || die
51     mpatch ${PNAME}-${PVER}-branch-update-20081213.patch || die
52     }
53    
54     src_compile()
55     {
56     # fixes build issues on multilib; do not export any ABI_LDFLAGS
57     EXPORT_ABI_LDFLAGS=false
58    
59     # widec
60     # -hashed-db needs Berkeley DB
61     mconfigure --with-shared --without-debug --without-hashed-db --enable-widec || die
62     # fix parallel make builds
63     mmake -j1 sources || die
64     mmake || die
65    
66     # non-widec
67     # -hashed-db needs Berkeley DB
68     SRCDIR="${SRCDIR}-non-widec" mconfigure --with-shared --without-debug --without-hashed-db || die
69     # fix parallel make builds
70     SRCDIR="${SRCDIR}-non-widec" mmake -j1 sources || die
71     SRCDIR="${SRCDIR}-non-widec" mmake || die
72     }
73    
74 niro 663 mcore_generic_src_install()
75 niro 662 {
76     # needed directories
77     minstalldir /$(mlibdir) || die
78    
79     minstall_destdir || die
80    
81     mchmod 755 /usr/$(mlibdir)/\*.${PVER} || die
82     mchmod 644 /usr/$(mlibdir)/libncurses++w.a || die
83     mv ${BINDIR}/usr/$(mlibdir)/libncursesw.so.5* ${BINDIR}/$(mlibdir) || die
84     mlink ../../$(mlibdir)/libncursesw.so.5 /usr/$(mlibdir)/libncursesw.so || die
85     mlink libncursesw.so /usr/$(mlibdir)/libcursesw.so || die
86    
87     # non-widec compat
88     for lib in curses ncurses form panel menu
89     do
90     echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/$(mlibdir)/lib${lib}.so || die
91     mlink lib${lib}w.a /usr/$(mlibdir)/lib${lib}.a || die
92     done
93     mlink libcurses.so /usr/$(mlibdir)/libcursesw.so || die
94     mlink libncurses.so /usr/$(mlibdir)/libcurses.so || die
95     mlink libncursesw.a /usr/$(mlibdir)/libcursesw.a || die
96     mlink libncurses.a /usr/$(mlibdir)/libcurses.a || die
97     mlink libncurses++w.a /usr/$(mlibdir)/libncurses++.a || die
98     # curses-config too
99     mlink ncursesw5-config /usr/bin/ncurses5-config || die
100    
101     # move the -m32 libs also to the right place (multilib)
102     if [[ $(mlibdir) != lib ]]
103     then
104     minstalldir /lib || die
105     mchmod 755 /usr/lib/\*.${PVER} || die
106     mchmod 644 /usr/lib/libncurses++w.a || die
107     mv ${BINDIR}/usr/lib/libncursesw.so.5* ${BINDIR}/lib || die
108     mlink ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so || die
109     mlink libncursesw.so /usr/lib/libcursesw.so || die
110    
111     # non-widec compat
112     for lib in curses ncurses form panel menu
113     do
114     echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/lib/lib${lib}.so || die
115     mlink lib${lib}w.a /usr/lib/lib${lib}.a || die
116     done
117     mlink libcurses.so /usr/lib/libcursesw.so || die
118     mlink libncurses.so /usr/lib/libcurses.so || die
119     mlink libncursesw.a /usr/lib/libcursesw.a || die
120     mlink libncurses.a /usr/lib/libcurses.a || die
121     mlink libncurses++w.a /usr/lib/libncurses++.a || die
122     fi
123    
124     # install non-widec runtime compat library (do not use minstalllib,
125     # we need libcnurses.so with loader hint for libncursesw and not a plain symlink!
126     all-abis minstallexec ${SRCDIR}-non-widec-'$abi'/lib/libncurses.so.${PVER} /usr/'$(mlibdir)' || die
127     all-abis mlink libncurses.so.${PVER} /usr/'$(mlibdir)'/libncurses.so.${PVER%%.*} || die
128    
129     # fixes a small man issue
130     if [ -e ${BINDIR}/usr/share/man/tack.1 ]
131     then
132     mv ${BINDIR}/usr/share/man/tack.1 \
133     ${BINDIR}/usr/share/man/man1 || die
134     fi
135    
136     # fix to enable colors in the default xterm
137     mv ${BINDIR}/usr/share/terminfo/x/xterm \
138     ${BINDIR}/usr/share/terminfo/x/xterm.orig || die
139     mlink xterm-color /usr/share/terminfo/x/xterm || die
140    
141     minstalldocs ANNOUNCE MANIFEST NEWS README* TO-DO || die
142     }
143    
144     preinstall()
145     {
146     if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so ]
147     then
148     rm ${MROOT}/usr/$(mlibdir)/libncurses.so || die
149     fi
150    
151     if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so.5 ]
152     then
153     rm ${MROOT}/usr/$(mlibdir)/libncurses.so.5 || die
154     fi
155    
156     if [ -L ${MROOT}/usr/$(mlibdir)/libcurses.so.5 ]
157     then
158     rm ${MROOT}/usr/$(mlibdir)/libcurses.so.5 || die
159     fi
160    
161     if [[ $(mlibdir) != lib ]]
162     then
163     if [ -L ${MROOT}/usr/lib/libncurses.so ]
164     then
165     rm ${MROOT}/usr/lib/libncurses.so || die
166     fi
167    
168     if [ -L ${MROOT}/usr/lib/libncurses.so.5 ]
169     then
170     rm ${MROOT}/usr/lib/libncurses.so.5 || die
171     fi
172    
173     if [ -L ${MROOT}/usr/lib/libcurses.so.5 ]
174     then
175     rm ${MROOT}/usr/lib/libcurses.so.5 || die
176     fi
177     fi
178     }
179    
180     postinstall()
181     {
182     # force ldconfig here
183     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
184     then
185     /sbin/ldconfig
186     fi
187     }