ncurses 6.1 - patch 20180623
[ncurses.git] / package / ncurses.spec
1 Summary: shared libraries for terminal handling
2 Name: ncurses6
3 Version: 6.1
4 Release: 20180623
5 License: X11
6 Group: Development/Libraries
7 Source: ncurses-%{version}-%{release}.tgz
8 # URL: https://invisible-island.net/ncurses/
9
10 %define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
11 %define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
12
13 %global MY_ABI 6
14
15 # save value before redefining
16 %global sys_libdir %{_libdir}
17
18 # was redefined...
19 #global _prefix /usr/local/ncurses#{MY_ABI}
20
21 %global MY_PKG %{sys_libdir}/pkgconfig
22 %define MYDATA /usr/local/ncurses/share/terminfo
23
24 %description
25 The ncurses library routines are a terminal-independent method of
26 updating character screens with reasonable optimization.
27
28 This package is used for testing ABI %{MY_ABI}.
29
30 %package -n ncursest6
31 Summary:        Curses library with POSIX thread support.
32
33 %description -n ncursest6
34 The ncurses library routines are a terminal-independent method of
35 updating character screens with reasonable optimization.
36
37 This package is used for testing ABI %{MY_ABI} with POSIX threads.
38
39 %prep
40
41 %global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
42 %global is_redhat   %(test -f /etc/redhat-release && echo 1 || echo 0)
43 %global is_suse     %(test -f /etc/SuSE-release && echo 1 || echo 0)
44
45 # nor are debug-symbols
46 %define debug_package %{nil}
47
48 %if %{is_mandriva}
49 %define _disable_ld_as_needed 1
50 %define _disable_ld_no_undefined 1
51 # libtool is not used here...
52 %define _disable_libtoolize 1
53 %define _disable_ld_build_id 1
54 %endif
55
56 %setup -q -n ncurses-%{version}-%{release}
57
58 %build
59 %define my_srcdir ..
60 %define CFG_OPTS \\\
61         --target %{_target_platform} \\\
62         --prefix=%{_prefix} \\\
63         --bindir=%{_bindir} \\\
64         --includedir=%{_includedir} \\\
65         --libdir=%{_libdir} \\\
66         --includedir='${prefix}/include' \\\
67         --disable-echo \\\
68         --disable-getcap \\\
69         --disable-leaks \\\
70         --disable-macros  \\\
71         --disable-overwrite  \\\
72         --disable-termcap \\\
73         --enable-hard-tabs \\\
74         --enable-opaque-curses \\\
75         --enable-opaque-form \\\
76         --enable-opaque-menu \\\
77         --enable-opaque-panel \\\
78         --enable-pc-files \\\
79         --enable-rpath \\\
80         --enable-warnings \\\
81         --enable-wgetch-events \\\
82         --enable-widec \\\
83         --enable-xmc-glitch \\\
84         --program-suffix=%{MY_ABI} \\\
85         --verbose \\\
86         --with-abi-version=%{MY_ABI} \\\
87         --with-config-suffix=dev \\\
88         --with-cxx-shared \\\
89         --with-default-terminfo-dir=%{MYDATA} \\\
90         --with-develop \\\
91         --with-extra-suffix=%{MY_ABI} \\\
92         --with-install-prefix=$RPM_BUILD_ROOT \\\
93         --with-pkg-config-libdir=%{MY_PKG} \\\
94         --with-shared \\\
95         --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \\\
96         --with-termlib \\\
97         --with-ticlib \\\
98         --with-trace \\\
99         --with-versioned-syms \\\
100         --with-xterm-kbs=DEL \\\
101         --without-ada \\\
102         --without-debug \\\
103         --without-normal
104
105 %global _configure ../configure
106
107 mkdir BUILD-ncurses6
108 pushd BUILD-ncurses6
109 CFLAGS="%{CC_NORMAL}" \
110 RPATH_LIST=../lib:%{_libdir} \
111 CONFIGURE_TOP=%{my_srcdir} \
112 %configure %{CFG_OPTS}
113 make
114 popd
115
116 mkdir BUILD-ncursest6
117 pushd BUILD-ncursest6
118 CFLAGS="%{CC_NORMAL}" \
119 RPATH_LIST=../lib:%{_libdir} \
120 CONFIGURE_TOP=%{my_srcdir} \
121 %configure %{CFG_OPTS} \
122         --enable-interop \
123         --enable-sp-funcs \
124         --program-suffix=t%{MY_ABI} \
125         --with-pthread
126 make
127 popd
128
129 %install
130 rm -rf $RPM_BUILD_ROOT
131
132 pushd BUILD-ncurses6
133 make install.libs install.progs
134 rm -f test/ncurses
135 ( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses%{MY_ABI} )
136 popd
137
138 pushd BUILD-ncursest6
139 make install.libs install.progs
140 rm -f test/ncurses
141 ( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncursest%{MY_ABI} )
142 popd
143
144 %clean
145 rm -rf $RPM_BUILD_ROOT
146
147 %files -n ncurses6
148 %defattr(-,root,root,-)
149 %{_bindir}/*
150 %{_includedir}/*
151 %{_libdir}/*
152 %exclude %{_bindir}/tict6
153 %exclude %{_bindir}/toet6
154 %exclude %{_bindir}/tabst6
155 %exclude %{_bindir}/resett6
156 %exclude %{_bindir}/???*tt6
157 %exclude %{_bindir}/?????*t6
158 %exclude %{_bindir}/*tw6*
159 %exclude %dir %{_includedir}/*tw6*
160 %exclude %{_includedir}/*tw6*/*
161 %exclude %{_libdir}/*tw6*
162 %exclude %{_libdir}/pkgconfig/*tw6*
163
164 %files -n ncursest6
165 %defattr(-,root,root,-)
166 %{_bindir}/tict6
167 %{_bindir}/toet6
168 %{_bindir}/tabst6
169 %{_bindir}/???*tt6
170 %{_bindir}/?????*t6
171 %{_bindir}/*tw6*
172 %{_includedir}/*tw6*
173 %{_libdir}/*tw6*
174 %{_libdir}/pkgconfig/*tw6*
175
176 %changelog
177
178 * Sat Jun 02 2018 Thomas E. Dickey
179 - build-fix for Mageia
180
181 * Sat May 26 2018 Thomas E. Dickey
182 - use predefined configure-macro
183 - separate ncurses6/ncursest6 packages
184
185 * Sat Feb 10 2018 Thomas E. Dickey
186 - add ncursest6 package
187 - add several development features
188
189 * Mon Jan 01 2018 Thomas E. Dickey
190 - drop redundant files pattern for "*.pc"
191
192 * Tue Dec 26 2017 Thomas E. Dickey
193 - add --with-config-suffix option
194
195 * Sun Apr 26 2015 Thomas E. Dickey
196 - move package to /usr
197
198 * Sun Apr 12 2015 Thomas E. Dickey
199 - factor-out MY_ABI
200
201 * Sat Mar 09 2013 Thomas E. Dickey
202 - add --with-cxx-shared option to demonstrate c++ binding as shared library
203
204 * Sat Oct 27 2012 Thomas E. Dickey
205 - add ncurses program as "ncurses6" to provide demonstration.
206
207 * Fri Jun 08 2012 Thomas E. Dickey
208 - initial version.