Magellan Linux

Annotation of /smage/branches/alx07x-stable/core/ncurses/ncurses-6.0-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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