Magellan Linux

Annotation of /branches/magellan-next/core/ncurses/ncurses-5.9-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7924 - (hide annotations) (download)
Sat Jun 4 11:38:35 2011 UTC (13 years ago) by niro
File size: 6288 byte(s)
-keep more basic terminfos
1 niro 7920 # $Id$
2    
3     PNAME="ncurses"
4     PVER="5.9"
5     PBUILD="r2"
6    
7     SPLIT_PACKAGES="ncurses ncurses-term"
8    
9     PCATEGORIE="sys-libs"
10     HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html"
11    
12     SDEPEND=">= virtual/glibc"
13    
14     SRCFILE="${PNAME}-${PVER}.tar.gz"
15     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
16    
17 niro 7921 sminclude mtools multilib cleanutils
18 niro 7920
19     SRC_URI=(
20     gnu://${PNAME}/${SRCFILE}
21     mirror://${PNAME}/${SRCFILE}
22     )
23    
24     UP2DATE="updatecmd_gnu ${PNAME} gz"
25    
26    
27     split_info_ncurses()
28     {
29     DESCRIPTION="Linux console display library."
30     DEPEND=">= virtual/glibc"
31    
32     preinstall()
33     {
34     if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so ]
35     then
36     rm ${MROOT}/usr/$(mlibdir)/libncurses.so || die
37     fi
38    
39     if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so.5 ]
40     then
41     rm ${MROOT}/usr/$(mlibdir)/libncurses.so.5 || die
42     fi
43    
44     if [ -L ${MROOT}/usr/$(mlibdir)/libcurses.so.5 ]
45     then
46     rm ${MROOT}/usr/$(mlibdir)/libcurses.so.5 || die
47     fi
48    
49     if [[ $(mlibdir) != lib ]]
50     then
51     if [ -L ${MROOT}/usr/lib/libncurses.so ]
52     then
53     rm ${MROOT}/usr/lib/libncurses.so || die
54     fi
55    
56     if [ -L ${MROOT}/usr/lib/libncurses.so.5 ]
57     then
58     rm ${MROOT}/usr/lib/libncurses.so.5 || die
59     fi
60    
61     if [ -L ${MROOT}/usr/lib/libcurses.so.5 ]
62     then
63     rm ${MROOT}/usr/lib/libcurses.so.5 || die
64     fi
65     fi
66     }
67    
68     postinstall()
69     {
70     # force ldconfig here
71     if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
72     then
73     /sbin/ldconfig
74     fi
75     }
76     }
77    
78     split_info_ncurses-term()
79     {
80     DESCRIPTION="Additional terminal descriptions for ncurses."
81     DEPEND="== sys-libs/ncurses-${PVER}"
82     }
83    
84     src_prepare()
85     {
86     # non widec
87     munpack ${SRCFILE} || die
88     for abi in ${MULTILIB_ABIS}
89     do
90     mv ${SRCDIR}{,-non-widec}-${abi} || die
91     done
92    
93     # widec
94     munpack ${SRCFILE} || die
95     }
96    
97     src_compile()
98     {
99     # fixes build issues on multilib; do not export any ABI_LDFLAGS
100     EXPORT_ABI_LDFLAGS=false
101    
102     # widec
103     # -hashed-db needs Berkeley DB
104     mconfigure --with-shared --without-debug --without-hashed-db --enable-widec || die
105     # fix parallel make builds
106     mmake -j1 sources || die
107     mmake || die
108    
109     # non-widec
110     # -hashed-db needs Berkeley DB
111     SRCDIR="${SRCDIR}-non-widec" mconfigure --with-shared --without-debug --without-hashed-db || die
112     # fix parallel make builds
113     SRCDIR="${SRCDIR}-non-widec" mmake -j1 sources || die
114     SRCDIR="${SRCDIR}-non-widec" mmake || die
115     }
116    
117     src_install_ncurses()
118     {
119     # needed directories
120     minstalldir /$(mlibdir) || die
121    
122     mmake DESTDIR=${BINDIR} install || die
123    
124     mchmod 755 /usr/$(mlibdir)/\*.${PVER} || die
125     mchmod 644 /usr/$(mlibdir)/libncurses++w.a || die
126     mv ${BINDIR}/usr/$(mlibdir)/libncursesw.so.5* ${BINDIR}/$(mlibdir) || die
127     mlink ../../$(mlibdir)/libncursesw.so.5 /usr/$(mlibdir)/libncursesw.so || die
128     mlink libncursesw.so /usr/$(mlibdir)/libcursesw.so || die
129    
130     # non-widec compat
131     for lib in curses ncurses form panel menu
132     do
133     echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/$(mlibdir)/lib${lib}.so || die
134     mlink lib${lib}w.a /usr/$(mlibdir)/lib${lib}.a || die
135     done
136     mlink libcurses.so /usr/$(mlibdir)/libcursesw.so || die
137     mlink libncurses.so /usr/$(mlibdir)/libcurses.so || die
138     mlink libncursesw.a /usr/$(mlibdir)/libcursesw.a || die
139     mlink libncurses.a /usr/$(mlibdir)/libcurses.a || die
140     mlink libncurses++w.a /usr/$(mlibdir)/libncurses++.a || die
141     # curses-config too
142     mlink ncursesw5-config /usr/bin/ncurses5-config || die
143    
144     # move the -m32 libs also to the right place (multilib)
145     if [[ $(mlibdir) != lib ]]
146     then
147     minstalldir /lib || die
148     mchmod 755 /usr/lib/\*.${PVER} || die
149     mchmod 644 /usr/lib/libncurses++w.a || die
150     mv ${BINDIR}/usr/lib/libncursesw.so.5* ${BINDIR}/lib || die
151     mlink ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so || die
152     mlink libncursesw.so /usr/lib/libcursesw.so || die
153    
154     # non-widec compat
155     for lib in curses ncurses form panel menu
156     do
157     echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/lib/lib${lib}.so || die
158     mlink lib${lib}w.a /usr/lib/lib${lib}.a || die
159     done
160     mlink libcurses.so /usr/lib/libcursesw.so || die
161     mlink libncurses.so /usr/lib/libcurses.so || die
162     mlink libncursesw.a /usr/lib/libcursesw.a || die
163     mlink libncurses.a /usr/lib/libcurses.a || die
164     mlink libncurses++w.a /usr/lib/libncurses++.a || die
165     fi
166    
167     # install non-widec runtime compat library (do not use minstalllib,
168     # we need libcnurses.so with loader hint for libncursesw and not a plain symlink!
169     all-abis minstallexec ${SRCDIR}-non-widec-'$abi'/lib/libncurses.so.${PVER} /usr/'$(mlibdir)' || die
170     all-abis mlink libncurses.so.${PVER} /usr/'$(mlibdir)'/libncurses.so.${PVER%%.*} || die
171    
172     # fixes a small man issue
173     if [ -e ${BINDIR}/usr/share/man/tack.1 ]
174     then
175     mv ${BINDIR}/usr/share/man/tack.1 \
176     ${BINDIR}/usr/share/man/man1 || die
177     fi
178    
179     # fix to enable colors in the default xterm
180     mv ${BINDIR}/usr/share/terminfo/x/xterm \
181     ${BINDIR}/usr/share/terminfo/x/xterm.orig || die
182     mlink xterm-color /usr/share/terminfo/x/xterm || die
183    
184     # zapmost uncommon terminfo
185     zapmost ${BINDIR}/usr/share/terminfo \
186 niro 7924 E/Eterm\* a/aterm a/ansi b/bterm c/cons25 c/cygwin d/dumb e/eterm\* g/gnome g/gnome-256color \
187     h/hurd j/jfbterm k/konsole k/konsole-256color l/linux\* m/mach\* m/mlterm m/mrxvt n/nsterm \
188     p/putty\* p/pcansi r/rxvt r/rxvt-\* s/screen s/screen-\*color s/screen.\* s/sun t/teraterm t/teraterm2.3 \
189     v/vt100 v/vt100-nav v/vt102 v/vt220 v/vt52 v/vte v/vte-256color v/vwmterm w/wsvt25\* \
190     x/xfce x/xterm x/xterm-\* \
191 niro 7920 || die
192    
193     minstalldocs ANNOUNCE MANIFEST NEWS README* TO-DO || die
194     }
195    
196     src_install_ncurses-term()
197     {
198     # needed directories
199     minstalldir /$(mlibdir) || die
200    
201     mmake DESTDIR=${BINDIR} install || die
202    
203     # fix to enable colors in the default xterm
204     mv ${BINDIR}/usr/share/terminfo/x/xterm \
205     ${BINDIR}/usr/share/terminfo/x/xterm.orig || die
206     mlink xterm-color /usr/share/terminfo/x/xterm || die
207    
208     # zap all but terminfo dir
209     zapmost ${BINDIR} usr/share/terminfo || die
210     # search terminals which are included in other packages
211     local i
212 niro 7924 for i in E/Eterm\* a/aterm a/ansi b/bterm c/cons25 c/cygwin d/dumb e/eterm\* g/gnome g/gnome-256color \
213     h/hurd j/jfbterm k/konsole k/konsole-256color l/linux\* m/mach\* m/mlterm m/mrxvt n/nsterm \
214     p/putty\* p/pcansi r/rxvt r/rxvt-\* s/screen s/screen-\*color s/screen.\* s/sun t/teraterm t/teraterm2.3 \
215     v/vt100 v/vt100-nav v/vt102 v/vt220 v/vt52 v/vte v/vte-256color v/vwmterm w/wsvt25\* \
216     x/xfce x/xterm x/xterm-\*
217 niro 7920 do
218     rm ${BINDIR}/usr/share/terminfo/${i} || die "${i}"
219     done
220     }