Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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