Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7344 - (hide annotations) (download)
Mon Sep 21 08:36:28 2015 UTC (8 years, 8 months ago) by niro
File size: 5352 byte(s)
-release branches/alx07x-unstable
1 niro 6496 # $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     }