Magellan Linux

Contents of /smage/branches/alx07x-unstable/core/ncurses/ncurses-5.9-r7.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7344 - (show annotations) (download)
Mon Sep 21 08:36:28 2015 UTC (8 years, 7 months ago) by niro
File size: 5352 byte(s)
-release branches/alx07x-unstable
1 # $Id$
2
3 PNAME="ncurses"
4 PVER="5.9"
5 PBUILD="r7"
6
7 PCAT="sys-libs"
8
9 DESCRIPTION="Linux console display library."
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 >= virtual/glibc"
17
18 SRCFILE="${PNAME}-${PVER}.tar.gz"
19 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
20
21 ALX_PKG_KEEP="usr/bin/tput
22 usr/$(mlibdir)/*.so.*
23 usr/$(mlibdir)/terminfo
24 usr/share/tabset
25 usr/share/terminfo/l/linux
26 usr/share/terminfo/r/rxvt
27 usr/share/terminfo/v/vt100
28 usr/share/terminfo/v/vt102
29 usr/share/terminfo/v/vt220
30 usr/share/terminfo/x/xterm
31 usr/share/terminfo/x/xterm-color"
32 sminclude mtools multilib alx-split
33 msetfeature "!check"
34
35 SRC_URI=(
36 gnu://${PNAME}/${SRCFILE}
37 mirror://${PNAME}/${SRCFILE}
38 mirror://${PNAME}/${PNAME}-${PVER}-gcc51.patch
39 )
40
41 UP2DATE="updatecmd_gnu ${PNAME} gz"
42
43 src_prepare()
44 {
45 # non widec
46 munpack ${SRCFILE} || die
47 cd ${SRCDIR}
48 mpatch ${PNAME}-${PVER}-gcc51.patch || die
49
50 cd ${BUILDDIR}
51 for abi in ${MULTILIB_ABIS}
52 do
53 mv ${SRCDIR}{,-non-widec}-${abi} || die
54 done
55
56 # widec
57 munpack ${SRCFILE} || die
58 cd ${SRCDIR}
59 mpatch ${PNAME}-${PVER}-gcc51.patch || die
60 }
61
62 src_compile()
63 {
64 # fixes build issues on multilib; do not export any ABI_LDFLAGS
65 EXPORT_ABI_LDFLAGS=false
66
67 # widec
68 # -hashed-db needs Berkeley DB
69 mconfigure --with-shared --without-debug --without-ada --without-hashed-db --enable-widec || die
70 # fix parallel make builds
71 mmake -j1 sources || die
72 mmake || die
73
74 # non-widec
75 # -hashed-db needs Berkeley DB
76 SRCDIR="${SRCDIR}-non-widec" mconfigure --with-shared --without-debug --without-ada --without-hashed-db || die
77 # fix parallel make builds
78 SRCDIR="${SRCDIR}-non-widec" mmake -j1 sources || die
79 SRCDIR="${SRCDIR}-non-widec" mmake || die
80 }
81
82 alx_generic_src_install()
83 {
84 mmake DESTDIR=${BINDIR} install || die
85
86 mchmod 755 /usr/$(mlibdir)/\*.${PVER} || die
87 mchmod 644 /usr/$(mlibdir)/libncurses++w.a || die
88
89 # install multlib-lib compat curses/curses-widec config
90 if [[ $(mlibdir) != lib ]]
91 then
92 all-abis minstallexec misc/ncurses-config /usr/bin/ncursesw5-config-$(mabi) || die
93 all-abis mlink ncursesw5-config-$(mabi) /usr/bin/ncurses5-config-$(mabi) || die
94 mlink multiarch-wrapper /usr/bin/ncursesw5-config || die
95 mlink ncursesw5-config /usr/bin/ncurses5-config || die
96 fi
97
98 # non-widec compat
99 for lib in curses ncurses form panel menu
100 do
101 echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/$(mlibdir)/lib${lib}.so || die
102 mlink lib${lib}w.a /usr/$(mlibdir)/lib${lib}.a || die
103 done
104 mlink libcurses.so /usr/$(mlibdir)/libcursesw.so || die
105 mlink libncurses.so /usr/$(mlibdir)/libcurses.so || die
106 mlink libncursesw.a /usr/$(mlibdir)/libcursesw.a || die
107 mlink libncurses.a /usr/$(mlibdir)/libcurses.a || die
108 mlink libncurses++w.a /usr/$(mlibdir)/libncurses++.a || die
109 minstalldir /usr/include/ncursesw || die
110 mlink ../curses.h /usr/include/ncursesw/curses.h || die
111 mlink ../ncurses.h /usr/include/ncursesw/ncurses.h || die
112
113 # move the -m32 libs also to the right place (multilib)
114 if [[ $(mlibdir) != lib ]]
115 then
116 mchmod 755 /usr/lib/\*.${PVER} || die
117 mchmod 644 /usr/lib/libncurses++w.a || die
118
119 # non-widec compat
120 for lib in curses ncurses form panel menu
121 do
122 echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/lib/lib${lib}.so || die
123 mlink lib${lib}w.a /usr/lib/lib${lib}.a || die
124 done
125 mlink libcurses.so /usr/lib/libcursesw.so || die
126 mlink libncurses.so /usr/lib/libcurses.so || die
127 mlink libncursesw.a /usr/lib/libcursesw.a || die
128 mlink libncurses.a /usr/lib/libcurses.a || die
129 mlink libncurses++w.a /usr/lib/libncurses++.a || die
130 fi
131
132 # install non-widec runtime compat library (do not use minstalllib,
133 # we need libcnurses.so with loader hint for libncursesw and not a plain symlink!
134 all-abis minstallexec ${SRCDIR}-non-widec-'$abi'/lib/libncurses.so.${PVER} /usr/'$(mlibdir)' || die
135 all-abis mlink libncurses.so.${PVER} /usr/'$(mlibdir)'/libncurses.so.${PVER%%.*} || die
136
137 # fixes a small man issue
138 if [ -e ${BINDIR}/usr/share/man/tack.1 ]
139 then
140 mv ${BINDIR}/usr/share/man/tack.1 \
141 ${BINDIR}/usr/share/man/man1 || die
142 fi
143
144 # fix to enable colors in the default xterm
145 mv ${BINDIR}/usr/share/terminfo/x/xterm \
146 ${BINDIR}/usr/share/terminfo/x/xterm.orig || die
147 mlink xterm-color /usr/share/terminfo/x/xterm || die
148
149 minstalldocs ANNOUNCE MANIFEST NEWS README* TO-DO || die
150
151 # do not collide with busybox
152 local app
153 for app in /usr/bin/clear /usr/bin/reset
154 do
155 if [[ -e ${BINDIR}${app} ]]
156 then
157 rm -f ${BINDIR}${app} || die ${app}
158 fi
159 done
160 }
161
162 preinstall()
163 {
164 if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so ]
165 then
166 rm ${MROOT}/usr/$(mlibdir)/libncurses.so || die
167 fi
168
169 if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so.5 ]
170 then
171 rm ${MROOT}/usr/$(mlibdir)/libncurses.so.5 || die
172 fi
173
174 if [ -L ${MROOT}/usr/$(mlibdir)/libcurses.so.5 ]
175 then
176 rm ${MROOT}/usr/$(mlibdir)/libcurses.so.5 || die
177 fi
178
179 if [[ $(mlibdir) != lib ]]
180 then
181 if [ -L ${MROOT}/usr/lib/libncurses.so ]
182 then
183 rm ${MROOT}/usr/lib/libncurses.so || die
184 fi
185
186 if [ -L ${MROOT}/usr/lib/libncurses.so.5 ]
187 then
188 rm ${MROOT}/usr/lib/libncurses.so.5 || die
189 fi
190
191 if [ -L ${MROOT}/usr/lib/libcurses.so.5 ]
192 then
193 rm ${MROOT}/usr/lib/libcurses.so.5 || die
194 fi
195 fi
196 }
197
198 postinstall()
199 {
200 # force ldconfig here
201 if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
202 then
203 /sbin/ldconfig
204 fi
205 }