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