3 %bcond_without ada # do not build Ada95 bindings
4 %bcond_without cxx # do not build C++ ncurses bindings and demo programs
5 # # (this is neccessary to build ncurses linked with uClibc).
6 %bcond_without gpm # build without (dynamically loadable) libgpm support
8 Summary: curses terminal control library
9 Summary(de.UTF-8): curses-Terminal-Control-Library
10 Summary(es.UTF-8): Biblioteca de control de terminal curses
11 Summary(fr.UTF-8): La bibliothéque de contrôle de terminal curses
12 Summary(pl.UTF-8): Biblioteki do kontrolowania terminala
13 Summary(pt_BR.UTF-8): Biblioteca de controle de terminal curses
14 Summary(ru.UTF-8): ncurses - новая библиотека управления терминалами
15 Summary(tr.UTF-8): Terminal kontrol kitaplığı
16 Summary(uk.UTF-8): ncurses - нова бібліотека керування терміналами
20 License: distributable
22 Source0: ftp://dickey.his.com/ncurses/%{name}-%{version}.tar.gz
23 # Source0-md5: b6593abe1089d6aab1551c105c9300e3
24 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
25 # Source1-md5: 3b05ee835dc20c306e9af2a9d3fbf1f1
27 # source: ftp://dickey.his.com/ncurses/5.6/
28 Patch0: %{name}-5.6-20071201.patch.gz
29 Patch1: %{name}-5.6-20071215.patch.gz
30 Patch2: %{name}-5.6-20071222.patch.gz
31 Patch3: %{name}-5.6-20080105.patch.gz
32 Patch4: %{name}-5.6-20080112.patch.gz
33 Patch5: %{name}-5.6-20080119.patch.gz
34 Patch6: %{name}-5.6-20080203.patch.gz
35 Patch7: %{name}-5.6-20080209.patch.gz
36 Patch8: %{name}-5.6-20080223.patch.gz
37 Patch9: %{name}-5.6-20080301.patch.gz
38 Patch10: %{name}-5.6-20080308.patch.gz
39 Patch11: %{name}-5.6-20080322.patch.gz
40 Patch12: %{name}-5.6-20080329.patch.gz
41 Patch13: %{name}-5.6-20080405.patch.gz
42 Patch14: %{name}-5.6-20080412.patch.gz
43 Patch15: %{name}-5.6-20080419.patch.gz
44 Patch16: %{name}-5.6-20080503.patch.gz
45 Patch17: %{name}-5.6-20080517.patch.gz
46 Patch18: %{name}-5.6-20080524.patch.gz
47 Patch19: %{name}-5.6-20080531.patch.gz
48 Patch20: %{name}-5.6-20080607.patch.gz
49 Patch21: %{name}-5.6-20080614.patch.gz
51 Patch100: %{name}-screen_hpa_fix.patch
52 Patch101: %{name}-xterm_hpa_fix.patch
53 Patch102: %{name}-meta.patch
54 Patch103: %{name}-xterm-home-end.patch
55 Patch104: %{name}-mouse_trafo-warning.patch
56 Patch105: %{name}-gnome-terminal.patch
57 # not sure about this one, now all xterms have kbs defined (to ^H, not \177)
58 # and only XTerm.ad.pl sets backspace to \177 instead of ^H
59 Patch106: %{name}-xterm-kbs.patch
60 # disable rain demo; triggers gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14998
61 Patch107: %{name}-no-rain-demo.patch
62 Patch108: %{name}-ada_fixes.patch
63 URL: http://dickey.his.com/ncurses/ncurses.html
64 BuildRequires: automake
65 %{?with_ada:BuildRequires: gcc-ada}
66 %{?with_gpm:BuildRequires: gpm-devel}
67 %{?with_cxx:BuildRequires: libstdc++-devel}
68 BuildRequires: sharutils
69 Obsoletes: libncurses5
70 Conflicts: terminfo < 5.4-0.6
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 %define _includedir %{_prefix}/include/ncurses
76 The curses library routines give the user a terminal-independent
77 method of updating character screens with reasonable optimization.
78 This implementation is ``new curses'' (ncurses) and is the approved
79 replacement for 4.4BSD classic curses, which is being discontinued.
81 %description -l de.UTF-8
82 Die curses-Library-Routinen geben dem Benutzer eine
83 Terminal-unabhängige Methode zur optimierten Aktualisierung von
84 zeichenbasierenden Bildschirminhalten an die Hand. Die vorliegende
85 Implementierung ist NEW CURSES (ncurses), die offizielle
86 Nachfolgerversion für 4.4BSC (die klassische curses-Version), welche
87 nicht weitergeführt wird.
89 %description -l es.UTF-8
90 Las rutinas de la biblioteca curses ofrecen al usuario un método
91 independiente de terminal para actualización de las pantallas de
92 caracteres con optimización razonable. Este soporte es "nuevo curses"
93 (ncurses) y es el substituto aprobado para los clásicos curses 4.4BSD,
94 que se quedaban desfasados.
96 %description -l fr.UTF-8
97 Les routines de la bibliothèque curses donnent à l'utilisateur une
98 méthode indépendante du terminal pour la mise à jour des écrans en
99 mode texte avec une optimisation correcte. Ceci est l'implantation du
100 « nouveau curses » (ncurses) et est le remplacement du curses 4.4BSD
101 classique qui est abandonné.
103 %description -l pl.UTF-8
104 Biblioteka curses udostępnia funkcje pozwalające użytkownikom na
105 odwoływanie się do zawartości terminala niezależnie od jego typu.
106 Pakiet ten zawiera implementację klasycznej biblioteki curses (z
107 systemu 4.4BSD) o nazwie ncurses (new curses) i jest zarazem jej
108 przyszłym zamiennikiem.
110 %description -l pt_BR.UTF-8
111 As rotinas da biblioteca curses fornecem ao usuário um método
112 independente de terminal para atualização das telas de caracteres com
113 otimização razoável. Essa implementação é "novo curses" (ncurses) e é
114 o substituto aprovado para os clássicos curses 4.4BSD, que estão se
117 %description -l ru.UTF-8
118 Программы библиотеки curses предоставляют пользователям возможность
119 терминально-независимого обновления символьных экранов с достаточной
120 оптимизацией. Эта реализация - "новые curses" (ncurses), которая
121 является одобренной заменой классической библиотеки curses из 4.4BSD,
122 в настоящее время "снятой с производства". В PLD Linux ncurses
123 является жизненно необходимой, без нее не будут функционировать многие
124 программы, составляющие базовую систему. Практически все программы,
125 которые выводят что-либо на терминал, используют ncurses. В PLD Linux
126 ни библиотека termcap, ни традиционный файл /etc/termcap, не
129 %description -l tr.UTF-8
130 curses kitaplığı ile kullanıcıya kullanılan terminal tipinden bağımsız
131 olarak karakter tabanlı ekranlara erişim olanağı sağlanabilmektedir.
132 Bu uyarlama 'new curses' (ncurses), BSD deki klasik curses'in gelişmiş
135 %description -l uk.UTF-8
136 Програми бібліотеки curses дають користувачам можливість
137 термінально-незалежного поновлення символьних екранів з достатньою
138 оптимізацією. Ця реалізація - "нові curses" (ncurses), котра є
139 схваленою заміною класичної бібліотеки curses з 4.4BSD, яка наразі
140 "знята з виробництва". В PLD Linux ncurses є життєво необхідною, без
141 неї не буде працювати більшость програм, що складають базову систему.
142 Практично всі програми, котрі виводять щось на термінал,
143 використовують ncurses. В PLD Linux ані бібліотека termcap, ані
144 традиційний файл /etc/termcap не використовуються...
147 Summary: Complete terminfo database
148 Summary(es.UTF-8): Banco de datos terminfo para terminales extras (menos usados)
149 Summary(pl.UTF-8): Kompletna baza terminfo
150 Summary(pt_BR.UTF-8): Base de dados terminfo para terminais adicionais (menos usados)
151 Group: Applications/Terminal
152 Requires: %{name} = %{version}-%{release}
153 Obsoletes: ncurses-extraterms
155 %description -n terminfo
156 This package contains cmplet terminfo database. If you just use the
157 Linux console, xterm and VT100, you probably will not need this this -
158 a minimal %{_datadir}/terminfo tree for these terminal is already
159 included in the ncurses package.
161 %description -n terminfo -l es.UTF-8
162 Banco de datos terminfo para terminales extras. Las capacidades de los
163 terminales más usados ya están en el paquete principal ncurses.
165 %description -n terminfo -l pl.UTF-8
166 Pakiet ten zawiera kompletną bazę terminfo. Jeżeli używasz terminali
167 linux, console, xterm, vt100 prawdopodobnie nie bedziesz potrzebował
168 tego pakietu gdyż definicje tych terminali są włączone w pakiet
171 %description -n terminfo -l pt_BR.UTF-8
172 Base de dados terminfo para terminais extras. As definições dos
173 terminais mais usados já estão no pacote principal ncurses.
176 Summary: Header files for develop ncurses based application
177 Summary(es.UTF-8): Bibliotecas de desarrollo para ncurses
178 Summary(pl.UTF-8): Pliki nagłówkowe do bibliotek ncurses
179 Summary(pt_BR.UTF-8): Bibliotecas de desenvolvimento para ncurses
180 Summary(ru.UTF-8): Хедеры и библиотеки для разработки программ с ncurses
181 Summary(uk.UTF-8): Хедери та бібліотеки для розробки програм з ncurses
182 Group: Development/Libraries
183 Requires: %{name} = %{version}-%{release}
184 Obsoletes: libncurses5-devel
185 Obsoletes: libtermcap-devel
188 This package includes the header files and libraries necessary to
189 develop applications that use ncurses.
191 %description devel -l es.UTF-8
192 Este paquete incluye las bibliotecas y archivos de inclusión
193 necesarios al desarrollo de aplicaciones que usan ncurses.
195 %description devel -l pl.UTF-8
196 Pakiet ten zawiera pliki nagłówkowe niezbędne do pisania/kompilowania
197 programów z wykorzystaniem bibliotek ncurses.
199 %description devel -l pt_BR.UTF-8
200 Este pacote inclui as bibliotecas e arquivos de inclusão necessários
201 ao desenvolvimento de aplicações que usam ncurses.
203 %description devel -l ru.UTF-8
204 Этот пакет содержит хедеры и библиотеки, необходимые для разработки
205 программ, использующих ncurses.
207 %description devel -l uk.UTF-8
208 Цей пакет містить хедери та бібліотеки, необхідні для розробки
209 програм, що використовують ncurses.
212 Summary: Static libraries for ncurses
213 Summary(es.UTF-8): Static libraries for ncurses development
214 Summary(pl.UTF-8): Biblioteki statyczne ncurses
215 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com ncurses
216 Summary(ru.UTF-8): Статические библиотеки для разработки программ с ncurses
217 Summary(uk.UTF-8): Статичні бібліотеки для розробки програм з ncurses
218 Group: Development/Libraries
219 Requires: %{name}-devel = %{version}-%{release}
222 This package includes the static libraries necessary to develop
223 applications that use ncurses.
225 %description static -l es.UTF-8
226 Static libraries for ncurses development.
228 %description static -l pl.UTF-8
229 Pakiet ten zawiera biblioteki statyczne ncurses.
231 %description static -l pt_BR.UTF-8
232 Bibliotecas estáticas para desenvolvimento com ncurses.
234 %description static -l ru.UTF-8
235 Этот пакет содержит статические библиотеки, необходимые для разработки
236 программ, использующих ncurses.
238 %description static -l uk.UTF-8
239 Цей пакет містить статичні бібліотеки, необхідні для розробки програм,
240 що використовують ncurses.
243 Summary: Additional ncurses libraries
244 Summary(pl.UTF-8): Dodatkowe biblioteki ncurses
246 Requires: %{name} = %{version}-%{release}
249 This package contains addidion ncurses libraries like libforms,
250 libmenu and libpanel for easy making full screen curse application.
252 %description ext -l pl.UTF-8
253 Pakiet ten zawiera dodatkowe biblioteki libforms, libmenu i libpanel
254 służące do łatwego tworzenia aplikacji pełnoekranowych korzystających
258 Summary: Header files for additional ncurses libraries
259 Summary(pl.UTF-8): Pliki nagłówkowe dodatkowych bibliotek ncurses
260 Group: Development/Libraries
261 Requires: %{name}-devel = %{version}-%{release}
262 Requires: %{name}-ext = %{version}-%{release}
264 %description ext-devel
265 Header files for additional ncurses libraries (form, menu, panel).
267 %description ext-devel -l pl.UTF-8
268 Pliki nagłówkowe dodatkowych bibliotek ncurses (form, menu, panel).
271 Summary: Static versions of additional ncurses libraries
272 Summary(pl.UTF-8): Statyczne wersje dodatkowych bibliotek ncurses
273 Group: Development/Libraries
274 Requires: %{name}-ext-devel = %{version}-%{release}
276 %description ext-static
277 Static versions of additional ncurses libraries (form, menu, panel).
279 %description ext-static -l pl.UTF-8
280 Statyczne wersje dodatkowych bibliotek ncurses (form, menu, panel).
283 Summary: Header files for develop C++ ncurses based application
284 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki C++ ncurses
285 Group: Development/Libraries
286 Requires: %{name}-devel = %{version}-%{release}
288 %description c++-devel
289 This package includes the header files and libraries necessary to
290 develop applications that use C++ ncurses.
292 %description c++-devel -l pl.UTF-8
293 Pakiet ten zawiera pliki nagłówkowe niezbędne do kompilacji programów
294 z wykorzystaniem biblioteki c++-ncurses.
297 Summary: Static libraries for C++ ncurses
298 Summary(pl.UTF-8): Biblioteki statyczne C++ ncurses
299 Group: Development/Libraries
300 Requires: %{name}-c++-devel = %{version}-%{release}
302 %description c++-static
303 This package includes the static libraries necessary to develop
304 applications that use C++ ncurses.
306 %description c++-static -l pl.UTF-8
307 Pakiet ten zawiera biblioteki statyczne C++ ncurses.
310 Summary: Header files for develop Ada95 ncurses based application
311 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki Ada95 ncurses
312 Group: Development/Libraries
313 Requires: %{name}-devel = %{version}-%{release}
316 %description ada-devel
317 This package includes the header files and libraries necessary to
318 develop applications that use Ada95 ncurses.
320 %description ada-devel -l pl.UTF-8
321 Ten pakiet zawiera pliki nagłówkowe i biblioteki potrzebne do
322 tworzenia aplikacji używających ncurses w języku Ada95.
361 gcc_target=$(gcc -dumpmachine)
362 gcc_version=$(gcc -dumpversion)
363 CFLAGS="%{rpmcflags} -DPURE_TERMINFO -D_FILE_OFFSET_BITS=64"
364 cp -f /usr/share/automake/config.sub .
365 for t in narrowc widec; do
369 --with-install-prefix=$RPM_BUILD_ROOT \
372 --with%{!?with_ada:out}-ada \
373 --with%{!?with_cxx:out}-cxx \
374 --with%{!?with_cxx:out}-cxx-binding \
375 --with%{!?debug:out}-debug \
376 --with%{!?with_gpm:out}-gpm \
381 --with-chtype='long' \
382 --with-mmask-t='long' \
383 --with-manpage-aliases \
384 --with-manpage-format=normal \
385 --without-manpage-symlinks \
386 --with-ada-include=%{_libdir}/gcc/$gcc_target/$gcc_version/adainclude/ \
387 --with-ada-objects=%{_libdir}/gcc/$gcc_target/$gcc_version/adalib/ \
388 `[ "$t" != "widec" ] && echo --with-termlib=tinfo` \
389 `[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --includedir=%{_includedir}w`
397 rm -rf $RPM_BUILD_ROOT
398 install -d $RPM_BUILD_ROOT{/%{_lib},%{_mandir}}
400 for t in widec narrowc; do
401 %{__make} -C obj-$t install \
402 INSTALL_PREFIX=$RPM_BUILD_ROOT
405 ln -sf ../l/linux $RPM_BUILD_ROOT%{_datadir}/terminfo/c/console
407 mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.so.*.* $RPM_BUILD_ROOT/%{_lib}
408 mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.*.* $RPM_BUILD_ROOT/%{_lib}
409 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libtinfo.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
410 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libcurses.so
411 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libncurses.so
413 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
416 rm -rf $RPM_BUILD_ROOT
418 %post -p /sbin/ldconfig
419 %postun -p /sbin/ldconfig
421 %post ext -p /sbin/ldconfig
422 %postun ext -p /sbin/ldconfig
425 %defattr(644,root,root,755)
427 %attr(755,root,root) %{_bindir}/captoinfo
428 %attr(755,root,root) %{_bindir}/clear
429 %attr(755,root,root) %{_bindir}/infocmp
430 %attr(755,root,root) %{_bindir}/infotocap
431 %attr(755,root,root) %{_bindir}/reset
432 %attr(755,root,root) %{_bindir}/tic
433 %attr(755,root,root) %{_bindir}/toe
434 %attr(755,root,root) %{_bindir}/tput
435 %attr(755,root,root) %{_bindir}/tset
436 %attr(755,root,root) /%{_lib}/libncurses.so.*
437 %attr(755,root,root) /%{_lib}/libtinfo.so.*
438 %attr(755,root,root) %{_libdir}/libncursesw.so.*
439 %attr(755,root,root) %{_libdir}/libtinfow.so.*
443 %dir %{_datadir}/terminfo
444 %{_datadir}/terminfo/E
445 %dir %{_datadir}/terminfo/[dklsvx]
447 %{_datadir}/terminfo/d/dumb
448 %{_datadir}/terminfo/k/klone+color
449 %{_datadir}/terminfo/l/linux*
450 %{_datadir}/terminfo/s/screen*
451 %{_datadir}/terminfo/v/vt100
452 %{_datadir}/terminfo/v/vt220
453 %{_datadir}/terminfo/v/vt220-8
454 %{_datadir}/terminfo/v/vt52
455 %{_datadir}/terminfo/x/xterm*
457 %{_mandir}/man[157]/*
458 %lang(fi) %{_mandir}/fi/man1/*
459 %lang(fr) %{_mandir}/fr/man1/*
460 %lang(hu) %{_mandir}/hu/man1/*
461 %lang(id) %{_mandir}/id/man1/*
462 %lang(it) %{_mandir}/it/man1/*
463 %lang(pl) %{_mandir}/pl/man[157]/*
466 %defattr(644,root,root,755)
467 %{_datadir}/terminfo/[1-9ALMNPQXa-ce-jm-rt-uwz]
468 %{_datadir}/terminfo/[dklsvx]/*
469 %exclude %{_datadir}/terminfo/d/dumb
470 %exclude %{_datadir}/terminfo/k/klone+color
471 %exclude %{_datadir}/terminfo/l/linux*
472 %exclude %{_datadir}/terminfo/s/screen*
473 %exclude %{_datadir}/terminfo/v/vt100
474 %exclude %{_datadir}/terminfo/v/vt220
475 %exclude %{_datadir}/terminfo/v/vt220-8
476 %exclude %{_datadir}/terminfo/v/vt52
477 %exclude %{_datadir}/terminfo/x/xterm*
480 %defattr(644,root,root,755)
481 %doc doc/html/ncurses-intro.html
482 %attr(755,root,root) %{_bindir}/ncurses5-config
483 %attr(755,root,root) %{_bindir}/ncursesw5-config
484 %attr(755,root,root) %{_libdir}/libcurses.so
485 %attr(755,root,root) %{_libdir}/libncurses.so
486 %attr(755,root,root) %{_libdir}/libtinfo.so
487 %attr(755,root,root) %{_libdir}/libcursesw.so
488 %attr(755,root,root) %{_libdir}/libncursesw.so
489 %attr(755,root,root) %{_libdir}/libtinfow.so
491 %{_includedir}/curses.h
493 %{_includedir}/nc_tparm.h
494 %{_includedir}/ncurses.h
495 %{_includedir}/ncurses_dll.h
496 %{_includedir}/term.h
497 %{_includedir}/term_entry.h
498 %{_includedir}/termcap.h
500 %{_includedir}/unctrl.h
502 %{_includedir}w/curses.h
503 %{_includedir}w/eti.h
504 %{_includedir}w/nc_tparm.h
505 %{_includedir}w/ncurses.h
506 %{_includedir}w/ncurses_dll.h
507 %{_includedir}w/term.h
508 %{_includedir}w/term_entry.h
509 %{_includedir}w/termcap.h
510 %{_includedir}w/tic.h
511 %{_includedir}w/unctrl.h
513 %exclude %{_mandir}/man3/form*
514 %exclude %{_mandir}/man3/menu*
515 %exclude %{_mandir}/man3/panel*
516 %lang(pl) %{_mandir}/pl/man3/*
519 %defattr(644,root,root,755)
520 %{_libdir}/libncurses.a
521 %{_libdir}/libtinfo.a
522 %{_libdir}/libncursesw.a
523 %{_libdir}/libtinfow.a
526 %defattr(644,root,root,755)
527 %attr(755,root,root) %{_libdir}/libform.so.*
528 %attr(755,root,root) %{_libdir}/libmenu.so.*
529 %attr(755,root,root) %{_libdir}/libpanel.so.*
530 %attr(755,root,root) %{_libdir}/libformw.so.*
531 %attr(755,root,root) %{_libdir}/libmenuw.so.*
532 %attr(755,root,root) %{_libdir}/libpanelw.so.*
535 %defattr(644,root,root,755)
536 %attr(755,root,root) %{_libdir}/libform.so
537 %attr(755,root,root) %{_libdir}/libmenu.so
538 %attr(755,root,root) %{_libdir}/libpanel.so
539 %attr(755,root,root) %{_libdir}/libformw.so
540 %attr(755,root,root) %{_libdir}/libmenuw.so
541 %attr(755,root,root) %{_libdir}/libpanelw.so
542 %{_includedir}/form.h
543 %{_includedir}/menu.h
544 %{_includedir}/panel.h
545 %{_includedir}w/form.h
546 %{_includedir}w/menu.h
547 %{_includedir}w/panel.h
548 %{_mandir}/man3/form*
549 %{_mandir}/man3/menu*
550 %{_mandir}/man3/panel*
553 %defattr(644,root,root,755)
556 %{_libdir}/libpanel.a
557 %{_libdir}/libformw.a
558 %{_libdir}/libmenuw.a
559 %{_libdir}/libpanelw.a
563 %defattr(644,root,root,755)
564 %doc c++/{demo.cc,README-first,NEWS,PROBLEMS}
565 %{_includedir}/cursesapp.h
566 %{_includedir}/cursesf.h
567 %{_includedir}/cursesm.h
568 %{_includedir}/cursesp.h
569 %{_includedir}/cursesw.h
570 %{_includedir}/etip.h
571 %{_includedir}/cursslk.h
572 %{_includedir}w/cursesapp.h
573 %{_includedir}w/cursesf.h
574 %{_includedir}w/cursesm.h
575 %{_includedir}w/cursesp.h
576 %{_includedir}w/cursesw.h
577 %{_includedir}w/etip.h
578 %{_includedir}w/cursslk.h
581 %defattr(644,root,root,755)
582 %{_libdir}/libncurses++.a
583 %{_libdir}/libncurses++w.a
588 %defattr(644,root,root,755)
589 %doc Ada95/{README,TODO}
590 %{_libdir}/gcc/*/*/adainclude/*
591 %{_libdir}/gcc/*/*/adalib/*