source: spec/trunk/SPECS/ncurses.spec@ 1330

Last change on this file since 1330 was 924, checked in by Silvan Scherrer, 9 years ago

spec: ncurses: Release version 5.9-1.

  • Property svn:eol-style set to native
File size: 9.0 KB
Line 
1#define svn_url e:/trees/ncurses/trunk
2%define svn_url http://svn.netlabs.org/repos/ports/ncurses/trunk
3%define svn_rev 1917
4
5Summary: Ncurses support utilities
6Name: ncurses
7Version: 5.9
8Release: 1%{?dist}
9License: MIT
10Group: System Environment/Base
11URL: http://invisible-island.net/ncurses/ncurses.html
12Vendor: bww bitwise works GmbH
13Source: %{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip
14
15#BuildRequires: gpm-devel
16BuildRequires: pkgconfig
17
18Requires: %{name}-libs = %{version}-%{release}
19
20%description
21The curses library routines are a terminal-independent method of
22updating character screens with reasonable optimization. The ncurses
23(new curses) library is a freely distributable replacement for the
24discontinued 4.4 BSD classic curses library.
25
26This package contains support utilities, including a terminfo compiler
27tic, a decompiler infocmp, clear, tput, tset, and a termcap conversion
28tool captoinfo.
29
30%package libs
31Summary: Ncurses libraries
32Group: System Environment/Libraries
33Requires: %{name}-base = %{version}-%{release}
34# libs introduced in 5.6-13
35Obsoletes: ncurses < 5.6-13
36Conflicts: ncurses < 5.6-13
37Obsoletes: libtermcap < 2.0.8-48
38
39%description libs
40The curses library routines are a terminal-independent method of
41updating character screens with reasonable optimization. The ncurses
42(new curses) library is a freely distributable replacement for the
43discontinued 4.4 BSD classic curses library.
44
45This package contains the ncurses libraries.
46
47%package base
48Summary: Descriptions of common terminals
49Group: System Environment/Base
50Obsoletes: termcap < 1:5.5-2
51# base introduced in 5.6-13
52Conflicts: ncurses < 5.6-13
53
54%description base
55This package contains descriptions of common terminals. Other terminal
56descriptions are included in the ncurses-term package.
57
58#%package term
59#Summary: Terminal descriptions
60#Group: System Environment/Base
61#Requires: %{name}-base = %{version}-%{release}
62
63#%description term
64#This package contains additional terminal descriptions not found in
65#the ncurses-base package.
66
67%package devel
68Summary: Development files for the ncurses library
69Group: Development/Libraries
70Requires: %{name}-libs = %{version}-%{release}
71Requires: pkgconfig
72Obsoletes: libtermcap-devel < 2.0.8-48
73Provides: libtermcap-devel = 2.0.8-48
74
75%description devel
76The header files and libraries for developing applications that use
77the ncurses terminal handling library.
78
79Install the ncurses-devel package if you want to develop applications
80which will use ncurses.
81
82%package static
83Summary: Static libraries for the ncurses library
84Group: Development/Libraries
85Requires: %{name}-devel = %{version}-%{release}
86
87%description static
88The ncurses-static package includes static libraries of the ncurses library.
89
90%debug_package
91
92%prep
93%if %{?svn_rev:%(sh -c 'if test -f "%{_sourcedir}/%{name}-%{version}-r%{svn_rev}.zip" ; then echo 1 ; else echo 0 ; fi')}%{!?svn_rev):0}
94%setup -q
95%else
96%setup -n "%{name}-%{version}" -Tc
97svn export %{?svn_rev:-r %{svn_rev}} %{svn_url} . --force
98rm -f "%{_sourcedir}/%{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip"
99(cd .. && zip -SrX9 "%{_sourcedir}/%{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip" "%{name}-%{version}")
100%endif
101
102# this will be in documentation, drop executable bits
103#cp -p install-sh test
104#chmod 644 test/*
105
106#for f in ANNOUNCE; do
107# iconv -f iso8859-1 -t utf8 -o ${f}{_,} &&
108# touch -r ${f}{,_} && mv -f ${f}{_,}
109#done
110
111%build
112%define rootdatadir /@unixroot/lib
113%define ncurses_options \\\
114 --with-shared --without-ada --with-ospeed=unsigned \\\
115 --enable-hard-tabs --enable-xmc-glitch --enable-colorfgbg \\\
116 --with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo:%{rootdatadir}/terminfo \\\
117 --enable-overwrite \\\
118 --enable-pc-files \\\
119 --with-termlib=tinfo \\\
120 --with-chtype=long
121
122export CC="gcc" ;
123export CXX="g++" ; \
124export CXXCPP="g++ -E" ; \
125export AR_OPTS="cru" ; \
126export LDFLAGS="-Zbin-files -Zhigh-mem -Zomf -Zargs-wild -Zargs-resp" ; \
127export LIBS="-lcx -lpthread" ; \
128export PKG_CONFIG_LIBDIR=%{_libdir}/pkgconfig
129%configure \
130 --with-shared --without-debug \
131 --without-ada --with-ospeed=unsigned \
132 --enable-hard-tabs --enable-xmc-glitch --enable-colorfgbg \
133 --with-default-terminfo-dir=/@unixroot/usr/share/terminfo \
134 --enable-overwrite \
135 --enable-pc-files \
136 --with-termlib=tinfo \
137 --with-chtype=long
138
139make %{_smp_mflags}
140
141%install
142rm -rf ${RPM_BUILD_ROOT}
143
144#make -C narrowc DESTDIR=$RPM_BUILD_ROOT install.{libs,progs,data}
145#rm -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.*
146#make -C widec DESTDIR=$RPM_BUILD_ROOT install.{libs,includes,man}
147
148make DESTDIR=$RPM_BUILD_ROOT install
149
150#chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/lib*.so.*.*
151#chmod 644 ${RPM_BUILD_ROOT}%{_libdir}/lib*.a
152
153# move lib{ncurses{,w},tinfo}.so.* to /lib*
154#mkdir $RPM_BUILD_ROOT/%{_lib}
155#mv $RPM_BUILD_ROOT%{_libdir}/lib{ncurses{,w},tinfo}.so.* $RPM_BUILD_ROOT/%{_lib}
156#for l in $RPM_BUILD_ROOT%{_libdir}/lib{ncurses{,w},tinfo}.so; do
157# ln -sf $(echo %{_libdir} | \
158# sed 's,\(^/\|\)[^/][^/]*,..,g')/%{_lib}/$(readlink $l) $l
159#done
160
161mv $RPM_BUILD_ROOT%{_bindir}/*.dll $RPM_BUILD_ROOT/%{_libdir}
162
163#mkdir -p $RPM_BUILD_ROOT%{rootdatadir}/terminfo
164mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/terminfo
165
166# move few basic terminfo entries to /lib
167#baseterms=
168#for termname in \
169# ansi dumb linux vt100 vt100-nav vt102 vt220 vt52
170#do
171# for t in $(find $RPM_BUILD_ROOT%{_datadir}/terminfo \
172# -samefile $RPM_BUILD_ROOT%{_datadir}/terminfo/${termname::1}/$termname)
173# do
174# baseterms="$baseterms $(basename $t)"
175# done
176#done
177#for termname in $baseterms; do
178# termpath=terminfo/${termname::1}/$termname
179# mkdir $RPM_BUILD_ROOT%{rootdatadir}/terminfo/${termname::1} &> /dev/null || :
180# mv $RPM_BUILD_ROOT%{_datadir}/$termpath $RPM_BUILD_ROOT%{rootdatadir}/$termpath
181# ln -s $(dirname %{_datadir}/$termpath | \
182# sed 's,\(^/\|\)[^/][^/]*,..,g')%{rootdatadir}/$termpath \
183# $RPM_BUILD_ROOT%{_datadir}/$termpath
184#done
185
186# prepare -base and -term file lists
187#for termname in \
188# Eterm\* aterm bterm cons25 cygwin eterm\* gnome gnome-256color hurd jfbterm \
189# konsole konsole-256color mach\* mlterm mrxvt nsterm putty\* pcansi \
190# rxvt rxvt-\* screen screen-\* screen.\* sun teraterm teraterm2.3 \
191# vwmterm wsvt25\* xfce xterm xterm-\*
192#do
193# for i in $RPM_BUILD_ROOT%{_datadir}/terminfo/?/$termname; do
194# for t in $(find $RPM_BUILD_ROOT%{_datadir}/terminfo -samefile $i); do
195# baseterms="$baseterms $(basename $t)"
196# done
197# done
198#done 2> /dev/null
199#for t in $baseterms; do
200# echo "%dir %{_datadir}/terminfo/${t::1}"
201# echo %{_datadir}/terminfo/${t::1}/$t
202#done 2> /dev/null | sort -u > terms.base
203#find $RPM_BUILD_ROOT%{_datadir}/terminfo \! -type d | \
204# sed "s|^$RPM_BUILD_ROOT||" | while read t
205#do
206# echo "%dir $(dirname $t)"
207# echo $t
208#done 2> /dev/null | sort -u | comm -2 -3 - terms.base > terms.term
209
210# can't replace directory with symlink (rpm bug), symlink all headers
211#mkdir $RPM_BUILD_ROOT%{_includedir}/ncurses{,w}
212#for l in $RPM_BUILD_ROOT%{_includedir}/*.h; do
213# ln -s ../$(basename $l) $RPM_BUILD_ROOT%{_includedir}/ncurses
214# ln -s ../$(basename $l) $RPM_BUILD_ROOT%{_includedir}/ncursesw
215#done
216
217# don't require -ltinfo when linking with --no-add-needed
218#for l in $RPM_BUILD_ROOT%{_libdir}/libncurses{,w}.so; do
219# soname=$(basename $(readlink $l))
220# rm -f $l
221# echo "INPUT($soname -ltinfo)" > $l
222#done
223
224#rm -f $RPM_BUILD_ROOT%{_libdir}/libcurses{,w}.so
225#echo "INPUT(-lncurses)" > $RPM_BUILD_ROOT%{_libdir}/libcurses.so
226#echo "INPUT(-lncursesw)" > $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
227
228#echo "INPUT(-ltinfo)" > $RPM_BUILD_ROOT%{_libdir}/libtermcap.so
229
230rm -f $RPM_BUILD_ROOT%{_libdir}/terminfo
231rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*_g.pc
232rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/ncurses++*.pc
233rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*_dll.pc
234
235#bzip2 NEWS
236
237#%post libs -p /sbin/ldconfig
238
239#%postun libs -p /sbin/ldconfig
240
241%files
242%defattr(-,root,root)
243%doc ANNOUNCE AUTHORS NEWS README TO-DO
244%{_bindir}/[cirt]*.exe
245%{_mandir}/man1/*
246%{_mandir}/man5/*
247%{_mandir}/man7/*
248
249%files libs
250%defattr(-,root,root)
251%{_libdir}/*.dll
252
253%files base
254# -f terms.base
255%defattr(-,root,root)
256%dir %{_sysconfdir}/terminfo
257#%dir %{rootdatadir}/terminfo
258%{_datadir}/tabset
259%{_datadir}/terminfo
260
261#%files term
262# -f terms.term
263#%defattr(-,root,root)
264
265%files devel
266%defattr(-,root,root)
267#%doc test
268%doc doc/html/hackguide.html
269%doc doc/html/ncurses-intro.html
270%doc c++/README*
271#%doc misc/ncurses.supp
272%{_bindir}/ncurses*-config
273%{_libdir}/*_dll.a
274%{_libdir}/libcurses*
275%{_libdir}/*.lib
276%{_libdir}/pkgconfig/*.pc
277%{_libdir}/ncurses++.a
278#%dir %{_includedir}/ncurses
279#%dir %{_includedir}/ncursesw
280#%{_includedir}/ncurses/*.h
281#%{_includedir}/ncursesw/*.h
282%{_includedir}/*.h
283%{_mandir}/man3/*
284
285%files static
286%defattr(-,root,root)
287%{_libdir}/ncurses.a
288%{_libdir}/form.a
289%{_libdir}/menu.a
290%{_libdir}/panel.a
291%{_libdir}/tinfo.a
292
293%clean
294rm -rf ${RPM_BUILD_ROOT}
295
296%changelog
297* Sat Jan 14 2017 Silvan Scherrer <silvan.scherrer@aroa.ch> 5.9-1
298- update to version 5.9
299- add correct keyboard and mouse handling (borrowed from KO Myung-Hun)
300
301* Mon Jan 16 2012 yd
302- rebuild with libc 0.6.4 runtime.
Note: See TracBrowser for help on using the repository browser.