]>
Commit | Line | Data |
---|---|---|
166a6c21 | 1 | ############################################################################### |
802ea3af MT |
2 | # IPFire.org - An Open Source Firewall Solution # |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
166a6c21 MT |
4 | ############################################################################### |
5 | ||
802ea3af MT |
6 | name = ncurses |
7 | version = 5.9 | |
e1b31c03 | 8 | release = 4 |
166a6c21 | 9 | |
802ea3af MT |
10 | groups = System/Base |
11 | url = http://invisible-island.net/ncurses/ncurses.html | |
12 | license = MIT | |
13 | summary = Ncurses support utilities. | |
166a6c21 | 14 | |
802ea3af MT |
15 | description |
16 | The curses library routines are a terminal-independent method of | |
17 | updating character screens with reasonable optimization. The ncurses | |
18 | (new curses) library is a freely distributable replacement for the | |
166a6c21 | 19 | discontinued 4.4 BSD classic curses library. |
802ea3af MT |
20 | end |
21 | ||
22 | source_dl = | |
23 | ||
24 | build | |
25 | requires | |
26 | gcc-c++ | |
27 | end | |
28 | ||
29 | configure_options += \ | |
30 | --mandir=/usr/share/man \ | |
31 | --with-shared \ | |
32 | --without-debug \ | |
e1b31c03 MT |
33 | --without-ada \ |
34 | --with-ospeed=unsigned \ | |
35 | --with-chtype=long \ | |
36 | --enable-hard-tabs \ | |
37 | --enable-xmc-glitch \ | |
38 | --enable-colorfgbg \ | |
39 | --with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo:/lib/terminfo \ | |
40 | --enable-overwrite \ | |
41 | --enable-pc-files \ | |
42 | --with-termlib=tinfo | |
802ea3af | 43 | |
e1b31c03 MT |
44 | export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig |
45 | ||
46 | build | |
47 | mkdir -pv narrowc widec | |
48 | ||
49 | # Build narrowc version. | |
50 | cd narrowc | |
51 | ln -svf ../configure . | |
52 | ./configure %{configure_options} --with-ticlib | |
53 | make %{PARALLELISMFLAGS} libs | |
54 | make %{PARALLELISMFLAGS} -C progs | |
55 | ||
56 | # Build widec version. | |
57 | cd ../widec | |
58 | ln -svf ../configure . | |
59 | ./configure %{configure_options} --enable-widec --without-progs | |
60 | make %{PARALLELISMFLAGS} libs | |
61 | cd .. | |
62 | end | |
63 | ||
64 | install | |
65 | make -C narrowc DESTDIR=%{BUILDROOT} install.{libs,progs,data} | |
66 | rm -rvf %{BUILDROOT}/usr/lib/libtinfo.* | |
67 | make -C widec DESTDIR=%{BUILDROOT} install.{libs,includes,man} | |
68 | ||
69 | chmod -v 755 %{BUILDROOT}/usr/lib/lib*.so.*.* | |
70 | ||
71 | # move lib{ncurses{,w},tinfo}.so.* to /lib* | |
802ea3af | 72 | mkdir -pv %{BUILDROOT}/lib |
e1b31c03 MT |
73 | mv -v %{BUILDROOT}/usr/lib/lib{ncurses{,w},tinfo}.so.* %{BUILDROOT}/lib |
74 | for l in %{BUILDROOT}/usr/lib/lib{ncurses{,w},tinfo}.so; do | |
75 | ln -sf $(echo /usr/lib | \ | |
76 | sed 's,\(^/\|\)[^/][^/]*,..,g')/lib/$(readlink $l) $l | |
802ea3af | 77 | done |
e1b31c03 MT |
78 | mkdir -pv %{BUILDROOT}/{etc,lib}/terminfo |
79 | ||
80 | # move few basic terminfo entries to /lib | |
81 | baseterms= | |
82 | for termname in \ | |
83 | ansi dumb linux vt100 vt100-nav vt102 vt220 vt52; do | |
84 | for t in $(find %{BUILDROOT}/usr/share/terminfo \ | |
85 | -samefile %{BUILDROOT}/usr/share/terminfo/${termname::1}/$termname); do | |
86 | baseterms="$baseterms $(basename $t)" | |
87 | done | |
88 | done | |
89 | for termname in ${baseterms}; do | |
90 | termpath=terminfo/${termname::1}/${termname} | |
91 | mkdir -pv %{BUILDROOT}/lib/terminfo/${termname::1} | |
92 | mv -v %{BUILDROOT}/usr/share/${termpath} %{BUILDROOT}/lib/${termpath} | |
93 | ln -svf $(dirname /usr/share/${termpath} | \ | |
94 | sed 's,\(^/\|\)[^/][^/]*,..,g')/lib/${termpath} \ | |
95 | %{BUILDROOT}/usr/share//${termpath} | |
96 | done | |
97 | ||
98 | # can't replace directory with symlink, symlink all headers | |
99 | #mkdir %{BUILDROOT}/usr/include/ncurses{,w} | |
100 | #for l in %{BUILDROOT}/usr/include/*.h; do | |
101 | # ln -s ../$(basename $l) %{BUILDROOT}/usr/include/ncurses | |
102 | # ln -s ../$(basename $l) %{BUILDROOT}/usr/include/ncursesw | |
103 | #done | |
104 | ||
105 | # don't require -ltinfo when linking with --no-add-needed | |
106 | for l in %{BUILDROOT}/usr/lib/libncurses{,w}.so; do | |
107 | soname=$(basename $(readlink $l)) | |
108 | rm -f $l | |
109 | echo "INPUT($soname -ltinfo)" > $l | |
110 | done | |
111 | ||
112 | rm -f %{BUILDROOT}/usr/lib/libcurses{,w}.so | |
113 | echo "INPUT(-lncurses)" > %{BUILDROOT}/usr/lib/libcurses.so | |
114 | echo "INPUT(-lncursesw)" > %{BUILDROOT}/usr/lib/libcursesw.so | |
115 | echo "INPUT(-ltinfo)" > %{BUILDROOT}/usr/lib/libtermcap.so | |
802ea3af | 116 | |
e1b31c03 MT |
117 | rm -vf %{BUILDROOT}/usr/lib/terminfo |
118 | rm -vf %{BUILDROOT}/usr/lib/pkgconfig/{*_g,ncurses++*}.pc | |
802ea3af MT |
119 | end |
120 | end | |
121 | ||
122 | packages | |
123 | package %{name} | |
124 | ||
125 | package %{name}-libs | |
126 | template LIBS | |
127 | ||
128 | requires | |
129 | %{name}-base | |
130 | end | |
131 | end | |
132 | ||
133 | package %{name}-devel | |
134 | template DEVEL | |
135 | end | |
136 | ||
137 | package %{name}-term | |
138 | summary = Terminal descriptions for ncurses. | |
139 | description | |
140 | This package contains additional terminal descriptions not found in | |
141 | the ncurses-base package. | |
142 | end | |
143 | ||
e5ec988f MT |
144 | provides += /usr/share/terminfo |
145 | ||
802ea3af MT |
146 | files |
147 | /usr/share/terminfo | |
148 | end | |
149 | end | |
150 | ||
151 | package %{name}-base | |
152 | summary = Terminal descriptions. | |
153 | description | |
154 | This package contains descriptions of common terminals. Other terminal | |
155 | descriptions are included in the ncurses-term package. | |
156 | end | |
157 | ||
e5ec988f MT |
158 | conflicts = ncurses<=5.9-1 |
159 | ||
802ea3af | 160 | files |
e1b31c03 | 161 | /lib/terminfo |
802ea3af MT |
162 | /usr/share/terminfo/*/Eterm* |
163 | /usr/share/terminfo/*/aterm | |
164 | /usr/share/terminfo/*/bterm | |
165 | /usr/share/terminfo/*/cons25 | |
166 | /usr/share/terminfo/*/cygwin | |
167 | /usr/share/terminfo/*/eterm* | |
168 | /usr/share/terminfo/*/gnome | |
169 | /usr/share/terminfo/*/gnome-256color | |
170 | /usr/share/terminfo/*/hurd | |
171 | /usr/share/terminfo/*/jfbterm | |
172 | /usr/share/terminfo/*/konsole | |
173 | /usr/share/terminfo/*/konsole-256color | |
174 | /usr/share/terminfo/*/mach* | |
175 | /usr/share/terminfo/*/mlterm | |
176 | /usr/share/terminfo/*/mrxvt | |
177 | /usr/share/terminfo/*/nsterm | |
178 | /usr/share/terminfo/*/putty* | |
179 | /usr/share/terminfo/*/pcansi | |
180 | /usr/share/terminfo/*/rxvt | |
181 | /usr/share/terminfo/*/rxvt-* | |
182 | /usr/share/terminfo/*/screen | |
183 | /usr/share/terminfo/*/screen-*color | |
184 | /usr/share/terminfo/*/screen.* | |
185 | /usr/share/terminfo/*/sun | |
186 | /usr/share/terminfo/*/teraterm | |
187 | /usr/share/terminfo/*/teraterm2.3 | |
188 | /usr/share/terminfo/*/vte | |
189 | /usr/share/terminfo/*/vte-256color | |
190 | /usr/share/terminfo/*/vwmterm | |
191 | /usr/share/terminfo/*/wsvt25* | |
192 | /usr/share/terminfo/*/xfce | |
193 | /usr/share/terminfo/*/xterm xterm-* | |
194 | end | |
195 | end | |
196 | end |