ncurses/ncurses.spec

376 lines
12 KiB
RPMSpec

%define majver %(echo %version | cut -d. -f 1)
Name: ncurses
Version: 6.3
Release: 3mamba
Summary: A CRT screen handling and optimization package
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://invisible-island.net/ncurses/ncurses.html
Source0: https://invisible-mirror.net/archives/ncurses/ncurses-%{version}.tar.gz
Patch0: ncurses-6.3-libs.patch
Patch1: ncurses-6.3-pkgconfig.patch
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 = %{?epoch:%epoch:}%{version}-%{release}
%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 = %{?epoch:%epoch:}%{version}-%{release}
Provides: ncurses-terminfo-extras
Obsoletes: ncurses-terminfo-extras < 6.3
%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 aarch64
Provides: libtinfo.so.6()(64bit)
Provides: libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)(64bit)
%else
Provides: libtinfo.so.6
Provides: libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)
%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
# Do not link against test libraries
%patch0 -p1 -b .libs
# Do not leak build-time LDFLAGS into the pkgconfig files
%patch1 -p1 -b .pkgconfig
%build
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 \
--with-versioned-syms \
%if "%{stage1}" == "1"
CPPFLAGS="-ldl"
%endif
# --enable-termcap \
%make
cd ../widec
ln -s ../configure .
%configure \
--enable-widec \
--with-pkg-config-libdir=%{_libdir}/pkgconfig \
--with-install-prefix=%{buildroot} \
--with-normal \
--with-shared \
--with-gpm \
--with-build-cc="%{_build}-gcc -D_GNU_SOURCE" \
--without-debug \
--without-profile \
--without-ada \
--enable-getcap \
--enable-pc-files \
--with-ticlib \
--with-versioned-syms \
%if "%{stage1}" == "1"
CPPFLAGS="-ldl"
%endif
# --enable-termcap \
%make
cd ..
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
cd narrowc
make install \
%if "%{_host}" != "%{_build}"
TIC_PATH=tic
%endif
cd ../widec
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 libncursesw.a %{buildroot}%{_libdir}/libcurses.a
ln -sf libncursesw.a %{buildroot}%{_libdir}/libcursesw.a
# From Arch Linux:
# fool packages looking to link to non-wide-character ncurses libraries
for lib in ncurses ncurses++ form panel menu; do
rm -f %{buildroot}%{_libdir}/lib${lib}.so
printf "INPUT(-l%sw)\n" "${lib}" > %{buildroot}%{_libdir}/lib${lib}.so
ln -sfv ${lib}w.pc %{buildroot}%{_libdir}/pkgconfig/${lib}.pc
done
# some packages look for -lcurses during build
printf 'INPUT(-lncursesw)\n' > %{buildroot}%{_libdir}/libcursesw.so
ln -sfv libncurses.so %{buildroot}%{_libdir}/libcurses.so
# tic and ticinfo functionality is built in by default
# make sure that anything linking against it links against libncursesw.so instead
for lib in tic tinfo; do
rm -f %{buildroot}%{_libdir}/lib${lib}.so
printf "INPUT(libncursesw.so.%s)\n" "%{majver}" > %{buildroot}%{_libdir}/lib${lib}.so
ln -sfv libncursesw.so.%{majver} %{buildroot}%{_libdir}/lib${lib}.so.%{majver}
ln -sfv ncursesw.pc %{buildroot}%{_libdir}/pkgconfig/${lib}.pc
done
## 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/*
%ifnarch x86_64 aarch64
%{_libdir}/terminfo
%endif
%files -n libncurses-devel
%defattr(-,root,root)
%{_bindir}/ncurses%{majver}-config
%{_bindir}/ncursesw%{majver}-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
* Tue Sep 27 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 6.3-3mamba
- install widec after narrowc to have widec ncurses.h header file
* Sat Feb 12 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 6.3-2mamba
- rebuilt with --with-versioned-syms and .so files modified so that widec library is always linked
* Sun Oct 31 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 6.3-1mamba
- update to 6.3.20211021
* Tue Mar 31 2020 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 6.2.20200328-1mamba
- update to 6.2.20200328
* 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