Magellan Linux

Contents of /branches/R11-unstable/core/ncurses/ncurses-5.9-r6.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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