3 # - restore parts of ncurses-linking.patch rev 1.7 that fix ncurses with tinfo linking
6 %bcond_without ada # do not build Ada95 bindings
7 %bcond_without cxx # do not build C++ ncurses bindings and demo programs
8 # # (this is neccessary to build ncurses linked with uClibc).
9 %bcond_without gpm # build without (dynamically loadable) libgpm support
11 Summary: curses terminal control library
12 Summary(de.UTF-8): curses-Terminal-Control-Library
13 Summary(es.UTF-8): Biblioteca de control de terminal curses
14 Summary(fr.UTF-8): La bibliothéque de contrôle de terminal curses
15 Summary(pl.UTF-8): Biblioteki do kontrolowania terminala
16 Summary(pt_BR.UTF-8): Biblioteca de controle de terminal curses
17 Summary(ru.UTF-8): ncurses - новая библиотека управления терминалами
18 Summary(tr.UTF-8): Terminal kontrol kitaplığı
19 Summary(uk.UTF-8): ncurses - нова бібліотека керування терміналами
23 License: distributable
25 Source0: ftp://dickey.his.com/ncurses/%{name}-%{version}.tar.gz
26 # Source0-md5: b6593abe1089d6aab1551c105c9300e3
27 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
28 # Source1-md5: 3b05ee835dc20c306e9af2a9d3fbf1f1
30 # source: ftp://dickey.his.com/ncurses/5.6/
31 Patch0: %{name}-5.6-20071201-patch.sh.bz2
32 Patch1: %{name}-5.6-20071215.patch.gz
33 Patch2: %{name}-5.6-20071222.patch.gz
34 Patch3: %{name}-5.6-20080105.patch.gz
35 Patch4: %{name}-5.6-20080112.patch.gz
36 Patch5: %{name}-5.6-20080119.patch.gz
37 Patch6: %{name}-5.6-20080203.patch.gz
38 Patch7: %{name}-5.6-20080209.patch.gz
39 Patch8: %{name}-5.6-20080223.patch.gz
40 Patch9: %{name}-5.6-20080301.patch.gz
41 Patch10: %{name}-5.6-20080308.patch.gz
42 Patch11: %{name}-5.6-20080322.patch.gz
43 Patch12: %{name}-5.6-20080329.patch.gz
44 Patch13: %{name}-5.6-20080405.patch.gz
45 Patch14: %{name}-5.6-20080412.patch.gz
46 Patch15: %{name}-5.6-20080419.patch.gz
47 Patch16: %{name}-5.6-20080503.patch.gz
48 Patch17: %{name}-5.6-20080517.patch.gz
49 Patch18: %{name}-5.6-20080524.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}-hash.patch
63 Patch109: %{name}-linking.patch
64 URL: http://dickey.his.com/ncurses/ncurses.html
65 BuildRequires: automake
66 %{?with_ada:BuildRequires: gcc-ada}
67 %{?with_gpm:BuildRequires: gpm-devel}
68 %{?with_cxx:BuildRequires: libstdc++-devel}
69 BuildRequires: sharutils
70 Obsoletes: libncurses5
71 Conflicts: terminfo < 5.4-0.6
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 %define _includedir %{_prefix}/include/ncurses
77 The curses library routines give the user a terminal-independent
78 method of updating character screens with reasonable optimization.
79 This implementation is ``new curses'' (ncurses) and is the approved
80 replacement for 4.4BSD classic curses, which is being discontinued.
82 %description -l de.UTF-8
83 Die curses-Library-Routinen geben dem Benutzer eine
84 Terminal-unabhängige Methode zur optimierten Aktualisierung von
85 zeichenbasierenden Bildschirminhalten an die Hand. Die vorliegende
86 Implementierung ist NEW CURSES (ncurses), die offizielle
87 Nachfolgerversion für 4.4BSC (die klassische curses-Version), welche
88 nicht weitergeführt wird.
90 %description -l es.UTF-8
91 Las rutinas de la biblioteca curses ofrecen al usuario un método
92 independiente de terminal para actualización de las pantallas de
93 caracteres con optimización razonable. Este soporte es "nuevo curses"
94 (ncurses) y es el substituto aprobado para los clásicos curses 4.4BSD,
95 que se quedaban desfasados.
97 %description -l fr.UTF-8
98 Les routines de la bibliothèque curses donnent à l'utilisateur une
99 méthode indépendante du terminal pour la mise à jour des écrans en
100 mode texte avec une optimisation correcte. Ceci est l'implantation du
101 « nouveau curses » (ncurses) et est le remplacement du curses 4.4BSD
102 classique qui est abandonné.
104 %description -l pl.UTF-8
105 Biblioteka curses udostępnia funkcje pozwalające użytkownikom na
106 odwoływanie się do zawartości terminala niezależnie od jego typu.
107 Pakiet ten zawiera implementację klasycznej biblioteki curses (z
108 systemu 4.4BSD) o nazwie ncurses (new curses) i jest zarazem jej
109 przyszłym zamiennikiem.
111 %description -l pt_BR.UTF-8
112 As rotinas da biblioteca curses fornecem ao usuário um método
113 independente de terminal para atualização das telas de caracteres com
114 otimização razoável. Essa implementação é "novo curses" (ncurses) e é
115 o substituto aprovado para os clássicos curses 4.4BSD, que estão se
118 %description -l ru.UTF-8
119 Программы библиотеки curses предоставляют пользователям возможность
120 терминально-независимого обновления символьных экранов с достаточной
121 оптимизацией. Эта реализация - "новые curses" (ncurses), которая
122 является одобренной заменой классической библиотеки curses из 4.4BSD,
123 в настоящее время "снятой с производства". В PLD Linux ncurses
124 является жизненно необходимой, без нее не будут функционировать многие
125 программы, составляющие базовую систему. Практически все программы,
126 которые выводят что-либо на терминал, используют ncurses. В PLD Linux
127 ни библиотека termcap, ни традиционный файл /etc/termcap, не
130 %description -l tr.UTF-8
131 curses kitaplığı ile kullanıcıya kullanılan terminal tipinden bağımsız
132 olarak karakter tabanlı ekranlara erişim olanağı sağlanabilmektedir.
133 Bu uyarlama 'new curses' (ncurses), BSD deki klasik curses'in gelişmiş
136 %description -l uk.UTF-8
137 Програми бібліотеки curses дають користувачам можливість
138 термінально-незалежного поновлення символьних екранів з достатньою
139 оптимізацією. Ця реалізація - "нові curses" (ncurses), котра є
140 схваленою заміною класичної бібліотеки curses з 4.4BSD, яка наразі
141 "знята з виробництва". В PLD Linux ncurses є життєво необхідною, без
142 неї не буде працювати більшость програм, що складають базову систему.
143 Практично всі програми, котрі виводять щось на термінал,
144 використовують ncurses. В PLD Linux ані бібліотека termcap, ані
145 традиційний файл /etc/termcap не використовуються...
148 Summary: Complete terminfo database
149 Summary(es.UTF-8): Banco de datos terminfo para terminales extras (menos usados)
150 Summary(pl.UTF-8): Kompletna baza terminfo
151 Summary(pt_BR.UTF-8): Base de dados terminfo para terminais adicionais (menos usados)
152 Group: Applications/Terminal
153 Requires: %{name} = %{version}-%{release}
154 Obsoletes: ncurses-extraterms
156 %description -n terminfo
157 This package contains cmplet terminfo database. If you just use the
158 Linux console, xterm and VT100, you probably will not need this this -
159 a minimal %{_datadir}/terminfo tree for these terminal is already
160 included in the ncurses package.
162 %description -n terminfo -l es.UTF-8
163 Banco de datos terminfo para terminales extras. Las capacidades de los
164 terminales más usados ya están en el paquete principal ncurses.
166 %description -n terminfo -l pl.UTF-8
167 Pakiet ten zawiera kompletną bazę terminfo. Jeżeli używasz terminali
168 linux, console, xterm, vt100 prawdopodobnie nie bedziesz potrzebował
169 tego pakietu gdyż definicje tych terminali są włączone w pakiet
172 %description -n terminfo -l pt_BR.UTF-8
173 Base de dados terminfo para terminais extras. As definições dos
174 terminais mais usados já estão no pacote principal ncurses.
177 Summary: Header files for develop ncurses based application
178 Summary(es.UTF-8): Bibliotecas de desarrollo para ncurses
179 Summary(pl.UTF-8): Pliki nagłówkowe do bibliotek ncurses
180 Summary(pt_BR.UTF-8): Bibliotecas de desenvolvimento para ncurses
181 Summary(ru.UTF-8): Хедеры и библиотеки для разработки программ с ncurses
182 Summary(uk.UTF-8): Хедери та бібліотеки для розробки програм з ncurses
183 Group: Development/Libraries
184 Requires: %{name} = %{version}-%{release}
185 Obsoletes: libncurses5-devel
186 Obsoletes: libtermcap-devel
189 This package includes the header files and libraries necessary to
190 develop applications that use ncurses.
192 %description devel -l es.UTF-8
193 Este paquete incluye las bibliotecas y archivos de inclusión
194 necesarios al desarrollo de aplicaciones que usan ncurses.
196 %description devel -l pl.UTF-8
197 Pakiet ten zawiera pliki nagłówkowe niezbędne do pisania/kompilowania
198 programów z wykorzystaniem bibliotek ncurses.
200 %description devel -l pt_BR.UTF-8
201 Este pacote inclui as bibliotecas e arquivos de inclusão necessários
202 ao desenvolvimento de aplicações que usam ncurses.
204 %description devel -l ru.UTF-8
205 Этот пакет содержит хедеры и библиотеки, необходимые для разработки
206 программ, использующих ncurses.
208 %description devel -l uk.UTF-8
209 Цей пакет містить хедери та бібліотеки, необхідні для розробки
210 програм, що використовують ncurses.
213 Summary: Static libraries for ncurses
214 Summary(es.UTF-8): Static libraries for ncurses development
215 Summary(pl.UTF-8): Biblioteki statyczne ncurses
216 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com ncurses
217 Summary(ru.UTF-8): Статические библиотеки для разработки программ с ncurses
218 Summary(uk.UTF-8): Статичні бібліотеки для розробки програм з ncurses
219 Group: Development/Libraries
220 Requires: %{name}-devel = %{version}-%{release}
223 This package includes the static libraries necessary to develop
224 applications that use ncurses.
226 %description static -l es.UTF-8
227 Static libraries for ncurses development.
229 %description static -l pl.UTF-8
230 Pakiet ten zawiera biblioteki statyczne ncurses.
232 %description static -l pt_BR.UTF-8
233 Bibliotecas estáticas para desenvolvimento com ncurses.
235 %description static -l ru.UTF-8
236 Этот пакет содержит статические библиотеки, необходимые для разработки
237 программ, использующих ncurses.
239 %description static -l uk.UTF-8
240 Цей пакет містить статичні бібліотеки, необхідні для розробки програм,
241 що використовують ncurses.
244 Summary: Additional ncurses libraries
245 Summary(pl.UTF-8): Dodatkowe biblioteki ncurses
247 Requires: %{name} = %{version}-%{release}
250 This package contains addidion ncurses libraries like libforms,
251 libmenu and libpanel for easy making full screen curse application.
253 %description ext -l pl.UTF-8
254 Pakiet ten zawiera dodatkowe biblioteki libforms, libmenu i libpanel
255 służące do łatwego tworzenia aplikacji pełnoekranowych korzystających
259 Summary: Header files for additional ncurses libraries
260 Summary(pl.UTF-8): Pliki nagłówkowe dodatkowych bibliotek ncurses
261 Group: Development/Libraries
262 Requires: %{name}-devel = %{version}-%{release}
263 Requires: %{name}-ext = %{version}-%{release}
265 %description ext-devel
266 Header files for additional ncurses libraries (form, menu, panel).
268 %description ext-devel -l pl.UTF-8
269 Pliki nagłówkowe dodatkowych bibliotek ncurses (form, menu, panel).
272 Summary: Static versions of additional ncurses libraries
273 Summary(pl.UTF-8): Statyczne wersje dodatkowych bibliotek ncurses
274 Group: Development/Libraries
275 Requires: %{name}-ext-devel = %{version}-%{release}
277 %description ext-static
278 Static versions of additional ncurses libraries (form, menu, panel).
280 %description ext-static -l pl.UTF-8
281 Statyczne wersje dodatkowych bibliotek ncurses (form, menu, panel).
284 Summary: Header files for develop C++ ncurses based application
285 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki C++ ncurses
286 Group: Development/Libraries
287 Requires: %{name}-devel = %{version}-%{release}
289 %description c++-devel
290 This package includes the header files and libraries necessary to
291 develop applications that use C++ ncurses.
293 %description c++-devel -l pl.UTF-8
294 Pakiet ten zawiera pliki nagłówkowe niezbędne do kompilacji programów
295 z wykorzystaniem biblioteki c++-ncurses.
298 Summary: Static libraries for C++ ncurses
299 Summary(pl.UTF-8): Biblioteki statyczne C++ ncurses
300 Group: Development/Libraries
301 Requires: %{name}-c++-devel = %{version}-%{release}
303 %description c++-static
304 This package includes the static libraries necessary to develop
305 applications that use C++ ncurses.
307 %description c++-static -l pl.UTF-8
308 Pakiet ten zawiera biblioteki statyczne C++ ncurses.
311 Summary: Header files for develop Ada95 ncurses based application
312 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki Ada95 ncurses
313 Group: Development/Libraries
314 Requires: %{name}-devel = %{version}-%{release}
317 %description ada-devel
318 This package includes the header files and libraries necessary to
319 develop applications that use Ada95 ncurses.
321 %description ada-devel -l pl.UTF-8
322 Ten pakiet zawiera pliki nagłówkowe i biblioteki potrzebne do
323 tworzenia aplikacji używających ncurses w języku Ada95.
360 gcc_target=$(gcc -dumpmachine)
361 gcc_version=$(gcc -dumpversion)
362 CFLAGS="%{rpmcflags} -DPURE_TERMINFO -D_FILE_OFFSET_BITS=64"
363 cp -f /usr/share/automake/config.sub .
364 for t in narrowc widec; do
368 --with-install-prefix=$RPM_BUILD_ROOT \
371 --with%{!?with_ada:out}-ada \
372 --with%{!?with_cxx:out}-cxx \
373 --with%{!?with_cxx:out}-cxx-binding \
374 --with%{!?debug:out}-debug \
375 --with%{!?with_gpm:out}-gpm \
380 --with-chtype='long' \
381 --with-mmask-t='long' \
382 --with-manpage-aliases \
383 --with-manpage-format=normal \
384 --without-manpage-symlinks \
385 --with-ada-include=%{_libdir}/gcc/$gcc_target/$gcc_version/adainclude/ \
386 --with-ada-objects=%{_libdir}/gcc/$gcc_target/$gcc_version/adalib/ \
387 `[ "$t" != "widec" ] && echo --with-termlib=tinfo` \
388 `[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --includedir=%{_includedir}w`
396 rm -rf $RPM_BUILD_ROOT
397 install -d $RPM_BUILD_ROOT{/%{_lib},%{_mandir}}
399 for t in widec narrowc; do
400 %{__make} -C obj-$t install \
401 INSTALL_PREFIX=$RPM_BUILD_ROOT
404 ln -sf ../l/linux $RPM_BUILD_ROOT%{_datadir}/terminfo/c/console
406 mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.so.*.* $RPM_BUILD_ROOT/%{_lib}
407 mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.*.* $RPM_BUILD_ROOT/%{_lib}
408 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libtinfo.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
409 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libcurses.so
410 ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libncurses.so
412 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
415 rm -rf $RPM_BUILD_ROOT
417 %post -p /sbin/ldconfig
418 %postun -p /sbin/ldconfig
420 %post ext -p /sbin/ldconfig
421 %postun ext -p /sbin/ldconfig
424 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_bindir}/captoinfo
427 %attr(755,root,root) %{_bindir}/clear
428 %attr(755,root,root) %{_bindir}/infocmp
429 %attr(755,root,root) %{_bindir}/infotocap
430 %attr(755,root,root) %{_bindir}/reset
431 %attr(755,root,root) %{_bindir}/tack
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/*