Magellan Linux

Contents of /trunk/core/ncurses/ncurses-5.9-r4.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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