ncurses/ncurses.spec

418 lines
14 KiB
RPMSpec
Raw Permalink Normal View History

%define major %(echo %version | cut -d. -f 1)
%define majver %(echo %version | cut -d. -f 1-2)
%define patchver %(echo %version | cut -d. -f 3)
%define tack_ver 1.07
Name: ncurses
Version: 6.1.20200118
Release: 2mamba
Summary: A CRT screen handling and optimization package
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.gnu.org/directory/GNU/ncurses.html
Source0: http://ftp.gnu.org/pub/gnu/ncurses/ncurses-%{majver}.tar.gz
%if "%{?patchver}" != ""
Source1: ftp://dickey.his.com/ncurses/%{majver}/patch-%{majver}-20190609.sh.gz
Source2: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190615.patch.gz
Source3: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190623.patch.gz
Source4: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190630.patch.gz
Source5: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190706.patch.gz
Source6: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190713.patch.gz
Source7: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190720.patch.gz
Source8: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190727.patch.gz
Source9: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190728.patch.gz
Source10: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190803.patch.gz
Source11: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190810.patch.gz
Source12: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190817.patch.gz
Source13: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190824.patch.gz
Source14: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190831.patch.gz
Source15: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190907.patch.gz
Source16: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190914.patch.gz
Source17: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190921.patch.gz
Source18: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20190928.patch.gz
Source19: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191005.patch.gz
Source20: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191012.patch.gz
Source21: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191015.patch.gz
Source22: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191019.patch.gz
Source23: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191026.patch.gz
Source24: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191102.patch.gz
Source25: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191109.patch.gz
Source26: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191116.patch.gz
Source27: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191123.patch.gz
Source28: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191130.patch.gz
Source29: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191207.patch.gz
Source30: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191214.patch.gz
Source31: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191221.patch.gz
Source32: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20191228.patch.gz
Source33: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20200104.patch.gz
Source34: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20200111.patch.gz
Source99: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-%{patchver}.patch.gz
%endif
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
## AUTOBUILDREQ-END
%if "%{stage1}" != "1"
BuildRequires: emacs >= 21.3
BuildRequires: libgpm-devel >= 1.20.1
BuildRequires: sharutils >= 4.2.1
%endif
Requires: libncurses = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
The curses library routines are a terminal-independent method of updating character screens with reasonalble optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4BSD classic curses library.
%package terminfo
Summary: Extra terminal information files
Group: System/Libraries
Requires: libncurses = %{version}-%{release}
Provides: ncurses-terminfo-extras
Obsoletes: ncurses-terminfo-extras
%description terminfo
Extra terminal information files.
%package -n libncurses
Summary: The development files for applications which use ncurses
Group: System/Libraries
Requires: ncurses-terminfo
%ifarch x86_64
Provides: libtinfo.so.6()(64bit)
%else
Provides: libtinfo.so.6
%endif
%description -n libncurses
The curses library routines are a terminal-independent method of updating character screens with reasonalble optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4BSD classic curses library.
%package -n libncurses-devel
Summary: The development files for applications which use ncurses
Group: Development/Libraries
Requires: libncurses = %{version}-%{release}
%description -n libncurses-devel
The header files and libraries for developing applications that use the ncurses CRT screen handling and optimization package.
%debug_package
%prep
%setup -q -n %{name}-%{majver}
#-D -T
#:<< _EOF
%if "%{?patchver}" != ""
gunzip -c %{SOURCE1} | bash
gunzip -c %{SOURCE2} | patch -p1
gunzip -c %{SOURCE3} | patch -p1
gunzip -c %{SOURCE4} | patch -p1
gunzip -c %{SOURCE5} | patch -p1
gunzip -c %{SOURCE6} | patch -p1
gunzip -c %{SOURCE7} | patch -p1
gunzip -c %{SOURCE8} | patch -p1
gunzip -c %{SOURCE9} | patch -p1
gunzip -c %{SOURCE10} | patch -p1
gunzip -c %{SOURCE11} | patch -p1
gunzip -c %{SOURCE12} | patch -p1
gunzip -c %{SOURCE13} | patch -p1
gunzip -c %{SOURCE14} | patch -p1
gunzip -c %{SOURCE15} | patch -p1
gunzip -c %{SOURCE16} | patch -p1
gunzip -c %{SOURCE17} | patch -p1
gunzip -c %{SOURCE18} | patch -p1
gunzip -c %{SOURCE19} | patch -p1
gunzip -c %{SOURCE20} | patch -p1
gunzip -c %{SOURCE21} | patch -p1
gunzip -c %{SOURCE22} | patch -p1
gunzip -c %{SOURCE23} | patch -p1
gunzip -c %{SOURCE24} | patch -p1
gunzip -c %{SOURCE25} | patch -p1
gunzip -c %{SOURCE26} | patch -p1
gunzip -c %{SOURCE27} | patch -p1
gunzip -c %{SOURCE28} | patch -p1
gunzip -c %{SOURCE29} | patch -p1
gunzip -c %{SOURCE30} | patch -p1
gunzip -c %{SOURCE31} | patch -p1
gunzip -c %{SOURCE32} | patch -p1
gunzip -c %{SOURCE33} | patch -p1
gunzip -c %{SOURCE34} | patch -p1
gunzip -c %{SOURCE99} | patch -p1
%endif
%build
#:<< _EOF
mkdir narrowc widec
cd narrowc
ln -s ../configure .
%configure \
--with-pkg-config-libdir=%{_libdir}/pkgconfig \
--with-install-prefix=%{buildroot} \
--with-normal \
--with-shared \
--with-gpm \
--with-build-cc=%{_build}-gcc \
--without-debug \
--without-profile \
--without-ada \
--enable-getcap \
--enable-pc-files \
--with-ticlib \
%if "%{stage1}" == "1"
CPPFLAGS="-ldl"
%endif
# --enable-termcap \
%make
cd ../widec
ln -s ../configure .
%configure \
--with-pkg-config-libdir=%{_libdir}/pkgconfig \
--with-install-prefix=%{buildroot} \
--with-normal \
--with-shared \
--with-gpm \
--enable-widec \
--with-build-cc="%{_build}-gcc -D_GNU_SOURCE" \
--without-debug \
--without-profile \
--without-ada \
--enable-getcap \
--enable-pc-files \
--with-ticlib \
%if "%{stage1}" == "1"
CPPFLAGS="-ldl"
%endif
# --enable-termcap \
%make
cd ..
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
cd widec
make install \
%if "%{_host}" != "%{_build}"
TIC_PATH=tic
%endif
cd ../narrowc
make install \
%if "%{_host}" != "%{_build}"
TIC_PATH=tic
%endif
cd ..
ln -sf ../l/linux %{buildroot}%{_datadir}/terminfo/c/console
#mv %{buildroot}%{_datadir}/terminfo/x/xterm \
# %{buildroot}%{_datadir}/terminfo/x/xterm-original
#ln -s xterm-xfree86 %{buildroot}%{_datadir}/terminfo/x/xterm
#install -d %{buildroot}/%{_lib}
#mv %{buildroot}%{_libdir}/libncurses.so.5* %{buildroot}/%{_lib}
#ln -sf /%{_lib}/libncurses.so.5 %{buildroot}%{_libdir}/libncurses.so
#ln -sf /%{_lib}/libncurses.so.5 %{buildroot}%{_libdir}/libcurses.so
#mv %{buildroot}%{_libdir}/libncursesw.so.5* %{buildroot}/%{_lib}
#ln -sf /%{_lib}/libncursesw.so.5 %{buildroot}%{_libdir}/libncursesw.so
#ln -sf /%{_lib}/libncursesw.so.5 %{buildroot}%{_libdir}/libcursesw.so
ln -sf libncurses.a %{buildroot}%{_libdir}/libcurses.a
ln -sf libncursesw.a %{buildroot}%{_libdir}/libcursesw.a
ln -sf libncurses.so.6 %{buildroot}%{_libdir}/libtinfo.so.6
ln -sf libncurses.so.6 %{buildroot}%{_libdir}/libtinfo.so
# fix strange permissions
chmod 755 %{buildroot}/%{_libdir}/*.so.*
#DEFAULT_TERMINFOS="\
#ansi ansi-m console dumb color_xterm linux pcansi-m screen vt52 vt100 vt102 vt220 \
#xterm xterm-256color"
#
#find %{buildroot}%{_datadir}/terminfo -type d | sed "s|^%{buildroot}|%dir |" >> filelist-terminfo
#find %{buildroot}%{_datadir}/terminfo -type f -o -type l | sed "s|^%{buildroot}||" > filelist-terminfo
#
#> filelist-terminfo-default
#for t in $DEFAULT_TERMINFOS; do
# F=`grep "/${t}\$" filelist-terminfo`
# [ "$F" ] && {
# echo "$F" >> filelist-terminfo-default
# sed -i "/\/${t}$/d" filelist-terminfo
# }
#done
#:
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%post -n libncurses -p /sbin/ldconfig
%postun -n libncurses -p /sbin/ldconfig
%posttrans -n libncurses
if [ $1 -ge 1 ]; then
[ -e %{_libdir}/libtinfo.so.6 ] || ln -sf libncurses.so.6 %{_libdir}/libtinfo.so.6
fi
:
%files
%defattr(-,root,root)
%{_bindir}/captoinfo
%{_bindir}/clear
%{_bindir}/infocmp
%{_bindir}/infotocap
%{_bindir}/reset
%{_bindir}/tabs
%{_bindir}/tic
%{_bindir}/toe
%{_bindir}/tput
%{_bindir}/tset
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%files -n libncurses
%defattr(-,root,root)
%{_libdir}/libform.so.*
%{_libdir}/libformw.so.*
%{_libdir}/libmenu.so.*
%{_libdir}/libmenuw.so.*
%{_libdir}/libncurses.so.*
%{_libdir}/libncursesw.so.*
%{_libdir}/libpanel.so.*
%{_libdir}/libpanelw.so.*
%{_libdir}/libtic.so.*
%{_libdir}/libticw.so.*
%{_libdir}/libtinfo.so.*
#%{_datadir}/terminfo/*
%if "%{_target_cpu}" != "x86_64"
%{_libdir}/terminfo
%endif
%files -n libncurses-devel
%defattr(-,root,root)
%{_bindir}/ncurses%{major}-config
%{_bindir}/ncursesw%{major}-config
%{_datadir}/tabset/*
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/*.a
%{_libdir}/pkgconfig/form.pc
%{_libdir}/pkgconfig/formw.pc
%{_libdir}/pkgconfig/menu.pc
%{_libdir}/pkgconfig/menuw.pc
%{_libdir}/pkgconfig/ncurses++.pc
%{_libdir}/pkgconfig/ncurses++w.pc
%{_libdir}/pkgconfig/ncurses.pc
%{_libdir}/pkgconfig/ncursesw.pc
%{_libdir}/pkgconfig/panel.pc
%{_libdir}/pkgconfig/panelw.pc
%{_libdir}/pkgconfig/tic.pc
%{_libdir}/pkgconfig/ticw.pc
#%{_libdir}/pkgconfig/tinfo.pc
%{_mandir}/man3/*
%doc doc/html/hackguide.html
%doc doc/html/ncurses-intro.html
%doc c++/README*
%doc README ANNOUNCE doc/html/announce.html
%files terminfo
%defattr(-,root,root)
%dir %{_datadir}/terminfo
%{_datadir}/terminfo/*
%changelog
* Mon Feb 10 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 6.1.20200118-2mamba
- postrans workaround to fix libtinfo.so.6 disappearing on upgrade
* Sun Feb 09 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 6.1.20200118-1mamba
- update to 6.1.20200118
- remove --with-termlib, provide libterminfo.so* as a symlink to libncurses.so*
* Mon Nov 25 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 6.1.20190728-2mamba
- rebuilt with --with-termlib to generate libtinfo
* Fri Aug 02 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 6.1.20190728-1mamba
- update to 6.1.20190728
* Wed Feb 01 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.20170121-3mamba
- provide all terminfo in ncurses-terminfo package required by libncurses; obsolete ncurses-terminfo-extras
* Wed Feb 01 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.20170121-2mamba
- add xterm-256color to default installed terminfos as required by recent konsole
* Fri Jan 27 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.20170121-1mamba
- update to 6.0.20170121
* Fri Jan 27 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.20160910-1mamba
- update to 6.0.20160910
* Sat Feb 20 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.20160213-1mamba
- update to 6.0.20160213
* Wed Nov 25 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0-1mamba
- update to 6.0
* Mon May 27 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 5.9.20130525-1mamba
- update to 5.9.20130525
* Sat Apr 28 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 5.9.20110702-3mamba
- add screen to the list of default terminfos
* Mon Oct 17 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 5.9.20110702-2mamba
- package most terminfo files apart
* Sat Jul 16 2011 Automatic Build System <autodist@mambasoft.it> 5.9.20110702-1mamba
- update to 5.9.20110702
* Fri Mar 11 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 5.8.20110307-1mamba
- update to 5.8.20110307
* Fri Mar 04 2011 Automatic Build System <autodist@mambasoft.it> 5.8-1mamba
- update to 5.8
* Fri Aug 20 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.20100814-1mamba
- update to 5.7.20100814
- added patches from dickey.his.com
- moved terminfo to libncurses package and removed requirement for ncurses
* Thu Nov 13 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7-1mamba
- automatic update to 5.7 by autodist
* Tue Jun 03 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 5.6-1mamba
- update to 5.6
* Mon Nov 28 2005 Davide Madrisan <davide.madrisan@qilinux.it> 5.5-1qilnx
- update to version 5.5 by autospec
* Fri Apr 15 2005 Davide Madrisan <davide.madrisan@qilinux.it> 5.4-3qilnx
- enabled wide-char/UTF-8 code (support required by aspell)
- added patches from ftp://dickey.his.com/ncurses/5.4/
* Thu Jan 27 2005 Davide Madrisan <davide.madrisan@qilinux.it> 5.4-2qilnx
- enabled support for libgpm
- added missing %%post and %%postun scriptlets
* Mon Mar 22 2004 Davide Madrisan <davide.madrisan@qilinux.it> 5.4-1qilnx
- new version rebuild
- specfile updates
* Wed Jul 30 2003 Silvan Calarco <silvan.calarco@qinet.it> 5.3-5qilnx
- symlinked xterm-xfree86 to xterm and renamed xterm to xterm-original
* Wed Apr 23 2003 Silvan Calarco <silvan.calarco@qinet.it> 5.3-4qilnx
- added inclusion of terminfo dir
* Tue Apr 22 2003 Silvan Calarco <silvan.calarco@qinet.it> 5.3-3qilnx
- added inclusion of symlinks created after install
* Mon Apr 14 2003 Luca Tinelli <luca.tinelli@qinet.it> 5.3-2qilnx
- RPM Modified included files list
* Mon Apr 14 2003 Alessandro Ramazzina <alessandro.ramazzina@qinet.it> 5.3-1qilnx
- creation of ncurses package