]> git.pld-linux.org Git - packages/compat-ncurses5.git/blobdiff - ncurses.spec
- unified shared lib symlinks creation
[packages/compat-ncurses5.git] / ncurses.spec
index f024919d896e8f9b2ce459e1446f81cf153f00eb..642dacf708929b9de75a7e3b2498d8295bc59de1 100644 (file)
@@ -2,9 +2,13 @@
 # Conditional build:
 %bcond_without ada             # do not build Ada95 bindings
 %bcond_without cxx             # do not build C++ ncurses bindings and demo programs
-#                              # (this is neccessary to build ncurses linked with uClibc).
+#                              # (this is neccessary to build ncurses linked with uClibc).
 %bcond_without gpm             # build without (dynamically loadable) libgpm support
 #
+%ifarch sparc64
+%undefine with_ada
+%endif
+
 Summary:       curses terminal control library
 Summary(de.UTF-8):     curses-Terminal-Control-Library
 Summary(es.UTF-8):     Biblioteca de control de terminal curses
@@ -15,26 +19,72 @@ Summary(ru.UTF-8):  ncurses - новая библиотека управлени
 Summary(tr.UTF-8):     Terminal kontrol kitaplığı
 Summary(uk.UTF-8):     ncurses - нова бібліотека керування терміналами
 Name:          ncurses
-Version:       5.6
-Release:       5
+Version:       5.7
+Release:       23
 License:       distributable
 Group:         Libraries
 Source0:       ftp://dickey.his.com/ncurses/%{name}-%{version}.tar.gz
-# Source0-md5: b6593abe1089d6aab1551c105c9300e3
+# Source0-md5: cce05daf61a64501ef6cd8da1f727ec6
 Source1:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
 # Source1-md5: 3b05ee835dc20c306e9af2a9d3fbf1f1
 
-# source: ftp://dickey.his.com/ncurses/5.6/
-Patch0:                %{name}-5.6-20061223.patch.gz
-Patch1:                %{name}-5.6-20061230.patch.gz
-Patch2:                %{name}-5.6-20070106.patch.gz
-Patch3:                %{name}-5.6-20070113.patch.gz
-Patch4:                %{name}-5.6-20070120.patch.gz
-Patch5:                %{name}-5.6-20070127.patch.gz
-Patch6:                %{name}-5.6-20070128.patch.gz
-Patch7:                %{name}-5.6-20070203.patch.gz
-Patch8:                %{name}-5.6-20070210.patch.gz
-Patch9:                %{name}-5.6-20070217.patch.gz
+# source: ftp://dickey.his.com/ncurses/5.7/
+Patch0:                %{name}-5.7-20081115.patch.gz
+Patch1:                %{name}-5.7-20081122.patch.gz
+Patch2:                %{name}-5.7-20081129.patch.gz
+Patch3:                %{name}-5.7-20081206.patch.gz
+Patch4:                %{name}-5.7-20081213.patch.gz
+Patch5:                %{name}-5.7-20081220.patch.gz
+Patch6:                %{name}-5.7-20081227.patch.gz
+Patch7:                %{name}-5.7-20090103.patch.gz
+Patch8:                %{name}-5.7-20090104.patch.gz
+Patch9:                %{name}-5.7-20090105.patch.gz
+Patch10:       %{name}-5.7-20090110.patch.gz
+Patch11:       %{name}-5.7-20090117.patch.gz
+Patch12:       %{name}-5.7-20090124.patch.gz
+Patch13:       %{name}-5.7-20090207.patch.gz
+Patch14:       %{name}-5.7-20090214.patch.gz
+Patch15:       %{name}-5.7-20090221.patch.gz
+Patch16:       %{name}-5.7-20090228.patch.gz
+Patch17:       %{name}-5.7-20090314.patch.gz
+Patch18:       %{name}-5.7-20090321.patch.gz
+Patch19:       %{name}-5.7-20090328.patch.gz
+Patch20:       %{name}-5.7-20090404.patch.gz
+Patch21:       %{name}-5.7-20090411.patch.gz
+Patch22:       %{name}-5.7-20090418.patch.gz
+Patch23:       %{name}-5.7-20090419.patch.gz
+Patch24:       %{name}-5.7-20090425.patch.gz
+Patch25:       %{name}-5.7-20090502.patch.gz
+Patch26:       %{name}-5.7-20090510.patch.gz
+Patch27:       %{name}-5.7-20090516.patch.gz
+Patch28:       %{name}-5.7-20090523.patch.gz
+Patch29:       %{name}-5.7-20090530.patch.gz
+Patch30:       %{name}-5.7-20090606.patch.gz
+Patch31:       %{name}-5.7-20090607.patch.gz
+Patch32:       %{name}-5.7-20090613.patch.gz
+Patch33:       %{name}-5.7-20090627.patch.gz
+Patch34:       %{name}-5.7-20090704.patch.gz
+Patch35:       %{name}-5.7-20090711.patch.gz
+Patch36:       %{name}-5.7-20090718.patch.gz
+Patch37:       %{name}-5.7-20090725.patch.gz
+Patch38:       %{name}-5.7-20090728.patch.gz
+Patch39:       %{name}-5.7-20090801.patch.gz
+Patch40:       %{name}-5.7-20090803.patch.gz
+Patch41:       %{name}-5.7-20090808.patch.gz
+Patch42:       %{name}-5.7-20090815.patch.gz
+Patch43:       %{name}-5.7-20090822.patch.gz
+Patch44:       %{name}-5.7-20090829.patch.gz
+Patch45:       %{name}-5.7-20090905.patch.gz
+Patch46:       %{name}-5.7-20090906.patch.gz
+Patch47:       %{name}-5.7-20090912.patch.gz
+Patch48:       %{name}-5.7-20090919.patch.gz
+Patch49:       %{name}-5.7-20090927.patch.gz
+Patch50:       %{name}-5.7-20091003.patch.gz
+Patch51:       %{name}-5.7-20091010.patch.gz
+Patch52:       %{name}-5.7-20091017.patch.gz
+Patch53:       %{name}-5.7-20091024.patch.gz
+Patch54:       %{name}-5.7-20091031.patch.gz
+Patch55:       %{name}-5.7-20091107.patch.gz
 
 Patch100:      %{name}-screen_hpa_fix.patch
 Patch101:      %{name}-xterm_hpa_fix.patch
@@ -42,17 +92,15 @@ Patch102:   %{name}-meta.patch
 Patch103:      %{name}-xterm-home-end.patch
 Patch104:      %{name}-mouse_trafo-warning.patch
 Patch105:      %{name}-gnome-terminal.patch
-# not sure about this one, now all xterms have kbs defined (to ^H, not \177)
-# and only XTerm.ad.pl sets backspace to \177 instead of ^H
-Patch106:      %{name}-xterm-kbs.patch
 # disable rain demo; triggers gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14998
 Patch107:      %{name}-no-rain-demo.patch
-Patch108:      %{name}-linking.patch
 URL:           http://dickey.his.com/ncurses/ncurses.html
 BuildRequires: automake
 %{?with_ada:BuildRequires:     gcc-ada}
 %{?with_gpm:BuildRequires:     gpm-devel}
 %{?with_cxx:BuildRequires:     libstdc++-devel}
+%{?with_ada:BuildRequires:     m4}
+BuildRequires: pkgconfig
 BuildRequires: sharutils
 Obsoletes:     libncurses5
 Conflicts:     terminfo < 5.4-0.6
@@ -141,7 +189,7 @@ Requires:   %{name} = %{version}-%{release}
 Obsoletes:     ncurses-extraterms
 
 %description -n terminfo
-This package contains cmplet terminfo database. If you just use the
+This package contains complete terminfo database. If you just use the
 Linux console, xterm and VT100, you probably will not need this this -
 a minimal %{_datadir}/terminfo tree for these terminal is already
 included in the ncurses package.
@@ -299,7 +347,7 @@ Summary:    Header files for develop Ada95 ncurses based application
 Summary(pl.UTF-8):     Pliki nagłówkowe do biblioteki Ada95 ncurses
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
-%requires_eq   gcc-ada
+%{?with_ada:%requires_eq       gcc-ada}
 
 %description ada-devel
 This package includes the header files and libraries necessary to
@@ -321,23 +369,74 @@ tworzenia aplikacji używających ncurses w języku Ada95.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
+%patch28 -p1
+%patch29 -p1
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
+%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p1
+%patch44 -p1
+%patch45 -p1
+%patch46 -p1
+%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
+%patch53 -p1
+%patch54 -p1
+%patch55 -p1
+
 %patch100 -p1
 %patch101 -p1
 %patch102 -p1
 %patch103 -p1
 %patch104 -p1
 %patch105 -p1
-%patch106 -p1
 %patch107 -p1
-%patch108 -p1
 
 %build
 unset TERMINFO || :
 gcc_target=$(gcc -dumpmachine)
-gcc_version=$(gcc -dumpversion)
+gcc_version=%{cc_version}
 CFLAGS="%{rpmcflags} -DPURE_TERMINFO -D_FILE_OFFSET_BITS=64"
+export PKG_CONFIG_LIBDIR=%{_libdir}/pkgconfig
 cp -f /usr/share/automake/config.sub .
+
+%if "%{pld_release}" == "ti"
 for t in narrowc widec; do
+%else
+for t in narrowc wideclowcolor widec; do
+%endif
 install -d obj-$t
 cd obj-$t
 ../%configure \
@@ -353,6 +452,7 @@ cd obj-$t
        --with-termlib \
        --with-largefile \
        --disable-lp64 \
+       --enable-pc-files \
        --with-chtype='long' \
        --with-mmask-t='long' \
        --with-manpage-aliases \
@@ -360,10 +460,17 @@ cd obj-$t
        --without-manpage-symlinks \
        --with-ada-include=%{_libdir}/gcc/$gcc_target/$gcc_version/adainclude/ \
        --with-ada-objects=%{_libdir}/gcc/$gcc_target/$gcc_version/adalib/ \
+%if "%{pld_release}" == "ti"
        `[ "$t" != "widec" ] && echo --with-termlib=tinfo` \
        `[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --includedir=%{_includedir}w`
-%{__make} \
-       CC="%{__cc}"
+%else
+       `[ "$t" = "narrowc" ] && echo --with-termlib=tinfo` \
+       `[ "$t" = "wideclowcolor" ] && echo --with-termlib=tinfow --enable-widec --disable-ext-colors --includedir=%{_includedir}wlc` \
+       `[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --enable-ext-colors --includedir=%{_includedir}w`
+%endif
+
+%{__make} -j1
+
 cd ..
 done
 
@@ -371,21 +478,52 @@ done
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/%{_lib},%{_mandir}}
 
+%if "%{pld_release}" == "ti"
 for t in widec narrowc; do
+%else
+for t in narrowc widec; do
+%endif
 %{__make} -C obj-$t install \
        INSTALL_PREFIX=$RPM_BUILD_ROOT
 done
 
 ln -sf ../l/linux $RPM_BUILD_ROOT%{_datadir}/terminfo/c/console
 
-mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.so.*.* $RPM_BUILD_ROOT/%{_lib}
-mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.*.* $RPM_BUILD_ROOT/%{_lib}
-ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libtinfo.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
-ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libcurses.so
-ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libncurses.so
+%if "%{pld_release}" != "ti"
+mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfow.so.6* $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.6* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfow.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libncursesw.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
+%else
+mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfow.so.5* $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.5* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfow.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libncursesw.so
+%endif
+mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.so.* $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfo.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libcurses.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libncurses.so
+
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
+
+%if "%{pld_release}" != "ti"
+cp -a obj-wideclowcolor/lib/lib*w.so.5* $RPM_BUILD_ROOT%{_libdir}
+%endif
 
 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
 
+rm $RPM_BUILD_ROOT%{_libdir}/libcurses.a
+rm $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
+rm $RPM_BUILD_ROOT%{_mandir}/README.ncurses-non-english-man-pages
+
+# FIXME: should be fixed properly
+# fix too many w's
+sed -i -e 's/tinfoww/tinfow/' $RPM_BUILD_ROOT%{_bindir}/ncurses*-config $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -403,25 +541,44 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/infocmp
 %attr(755,root,root) %{_bindir}/infotocap
 %attr(755,root,root) %{_bindir}/reset
-%attr(755,root,root) %{_bindir}/tack
+%attr(755,root,root) %{_bindir}/tabs
 %attr(755,root,root) %{_bindir}/tic
 %attr(755,root,root) %{_bindir}/toe
 %attr(755,root,root) %{_bindir}/tput
 %attr(755,root,root) %{_bindir}/tset
-%attr(755,root,root) /%{_lib}/libncurses.so.*
-%attr(755,root,root) /%{_lib}/libtinfo.so.*
-%attr(755,root,root) %{_libdir}/libncursesw.so.*
-%attr(755,root,root) %{_libdir}/libtinfow.so.*
+%attr(755,root,root) /%{_lib}/libncurses.so.*.*
+%attr(755,root,root) %ghost /%{_lib}/libncurses.so.5
+%attr(755,root,root) /%{_lib}/libncursesw.so.*.*
+%if "%{pld_release}" != "ti"
+%attr(755,root,root) %ghost /%{_lib}/libncursesw.so.6
+%endif
+%attr(755,root,root) /%{_lib}/libtinfo.so.*.*
+%attr(755,root,root) %ghost /%{_lib}/libtinfo.so.5
+%attr(755,root,root) /%{_lib}/libtinfow.so.*.*
+%if "%{pld_release}" != "ti"
+%attr(755,root,root) %ghost /%{_lib}/libtinfow.so.6
+%attr(755,root,root) %{_libdir}/libncursesw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libncursesw.so.5
+%attr(755,root,root) %{_libdir}/libtinfow.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libtinfow.so.5
+%else
+%attr(755,root,root) %ghost /%{_lib}/libtinfow.so.5
+%attr(755,root,root) %ghost /%{_lib}/libncursesw.so.5
+%endif
 
 %{_datadir}/tabset
 
 %dir %{_datadir}/terminfo
 %{_datadir}/terminfo/E
-%dir %{_datadir}/terminfo/[dklsvx]
+%dir %{_datadir}/terminfo/[dgklprsvx]
 
 %{_datadir}/terminfo/d/dumb
+%{_datadir}/terminfo/g/gnome*
 %{_datadir}/terminfo/k/klone+color
+%{_datadir}/terminfo/k/konsole*
 %{_datadir}/terminfo/l/linux*
+%{_datadir}/terminfo/p/putty*
+%{_datadir}/terminfo/r/rxvt*
 %{_datadir}/terminfo/s/screen*
 %{_datadir}/terminfo/v/vt100
 %{_datadir}/terminfo/v/vt220
@@ -442,8 +599,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/terminfo/[1-9ALMNPQXa-ce-jm-rt-uwz]
 %{_datadir}/terminfo/[dklsvx]/*
 %exclude %{_datadir}/terminfo/d/dumb
+%exclude %{_datadir}/terminfo/g/gnome*
 %exclude %{_datadir}/terminfo/k/klone+color
+%exclude %{_datadir}/terminfo/k/konsole*
 %exclude %{_datadir}/terminfo/l/linux*
+%exclude %{_datadir}/terminfo/p/putty*
+%exclude %{_datadir}/terminfo/r/rxvt*
 %exclude %{_datadir}/terminfo/s/screen*
 %exclude %{_datadir}/terminfo/v/vt100
 %exclude %{_datadir}/terminfo/v/vt220
@@ -455,7 +616,11 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc doc/html/ncurses-intro.html
 %attr(755,root,root) %{_bindir}/ncurses5-config
+%if "%{pld_release}" == "ti"
 %attr(755,root,root) %{_bindir}/ncursesw5-config
+%else
+%attr(755,root,root) %{_bindir}/ncursesw6-config
+%endif
 %attr(755,root,root) %{_libdir}/libcurses.so
 %attr(755,root,root) %{_libdir}/libncurses.so
 %attr(755,root,root) %{_libdir}/libtinfo.so
@@ -484,6 +649,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}w/termcap.h
 %{_includedir}w/tic.h
 %{_includedir}w/unctrl.h
+%{_pkgconfigdir}/*.pc
+
 %{_mandir}/man3/*
 %exclude %{_mandir}/man3/form*
 %exclude %{_mandir}/man3/menu*
@@ -499,12 +666,27 @@ rm -rf $RPM_BUILD_ROOT
 
 %files ext
 %defattr(644,root,root,755)
+%if "%{pld_release}" == "ti"
 %attr(755,root,root) %{_libdir}/libform.so.*
 %attr(755,root,root) %{_libdir}/libmenu.so.*
 %attr(755,root,root) %{_libdir}/libpanel.so.*
 %attr(755,root,root) %{_libdir}/libformw.so.*
 %attr(755,root,root) %{_libdir}/libmenuw.so.*
 %attr(755,root,root) %{_libdir}/libpanelw.so.*
+%else
+%attr(755,root,root) %{_libdir}/libform.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libform.so.[56]
+%attr(755,root,root) %{_libdir}/libmenu.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmenu.so.[56]
+%attr(755,root,root) %{_libdir}/libpanel.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpanel.so.[56]
+%attr(755,root,root) %{_libdir}/libformw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libformw.so.[56]
+%attr(755,root,root) %{_libdir}/libmenuw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmenuw.so.[56]
+%attr(755,root,root) %{_libdir}/libpanelw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpanelw.so.[56]
+%endif
 
 %files ext-devel
 %defattr(644,root,root,755)
@@ -562,6 +744,8 @@ rm -rf $RPM_BUILD_ROOT
 %files ada-devel
 %defattr(644,root,root,755)
 %doc Ada95/{README,TODO}
+%attr(755,root,root) %{_bindir}/adacurses-config
+%attr(755,root,root) %{_bindir}/adacursesw-config
 %{_libdir}/gcc/*/*/adainclude/*
 %{_libdir}/gcc/*/*/adalib/*
 %endif
This page took 0.077357 seconds and 4 git commands to generate.