1 Summary: shared libraries for terminal handling
6 Group: Development/Libraries
7 Source: ncurses-%{version}-%{release}.tgz
8 # URL: https://invisible-island.net/ncurses/
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
15 # save value before redefining
16 %global sys_libdir %{_libdir}
19 #global _prefix /usr/local/ncurses#{MY_ABI}
21 %global MY_PKG %{sys_libdir}/pkgconfig
22 %define MYDATA /usr/local/ncurses/share/terminfo
25 The ncurses library routines are a terminal-independent method of
26 updating character screens with reasonable optimization.
28 This package is used for testing ABI %{MY_ABI}.
32 %global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
33 %global is_redhat %(test -f /etc/redhat-release && echo 1 || echo 0)
34 %global is_suse %(test -f /etc/SuSE-release && echo 1 || echo 0)
36 # nor are debug-symbols
37 %define debug_package %{nil}
40 %define _disable_ld_as_needed 1
41 %define _disable_ld_no_undefined 1
42 # libtool is not used here...
43 %define _disable_libtoolize 1
44 %define _disable_ld_build_id 1
48 # workaround for toolset breakage in Fedora 28
49 %define _test_relink --enable-relink
51 %define _test_relink --disable-relink
54 %setup -q -n ncurses-%{version}-%{release}
58 --target %{_target_platform} \\\
59 --prefix=%{_prefix} \\\
60 --bindir=%{_bindir} \\\
61 --includedir=%{_includedir} \\\
62 --libdir=%{_libdir} \\\
63 --includedir='${prefix}/include' \\\
68 --disable-overwrite \\\
71 --enable-hard-tabs \\\
72 --enable-opaque-curses \\\
73 --enable-opaque-form \\\
74 --enable-opaque-menu \\\
75 --enable-opaque-panel \\\
79 --enable-wgetch-events \\\
81 --enable-xmc-glitch \\\
82 --program-suffix=%{MY_ABI} \\\
84 --with-abi-version=%{MY_ABI} \\\
85 --with-config-suffix=dev \\\
87 --with-default-terminfo-dir=%{MYDATA} \\\
89 --with-extra-suffix=%{MY_ABI} \\\
90 --with-install-prefix=$RPM_BUILD_ROOT \\\
91 --with-pkg-config-libdir=%{MY_PKG} \\\
93 --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \\\
97 --with-versioned-syms \\\
98 --with-xterm-kbs=DEL \\\
103 CFLAGS="%{CC_NORMAL}" \
104 RPATH_LIST=../lib:%{_libdir} \
105 %configure %{CFG_OPTS}
110 rm -rf $RPM_BUILD_ROOT
112 make install.libs install.progs
114 ( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses%{MY_ABI} )
117 if rm -rf $RPM_BUILD_ROOT; then
120 find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1
125 %defattr(-,root,root,-)
132 * Sat Nov 16 2019 Thomas Dickey
133 - modify clean-rule to work around Fedora NFS bugs.
135 * Sat Aug 25 2018 Thomas E. Dickey
136 - split spec-file into ncurses6 and ncursest6 to work around toolset breakage
139 * Sat Jun 02 2018 Thomas E. Dickey
140 - build-fix for Mageia
142 * Sat May 26 2018 Thomas E. Dickey
143 - use predefined configure-macro
144 - separate ncurses6/ncursest6 packages
146 * Sat Feb 10 2018 Thomas E. Dickey
147 - add ncursest6 package
148 - add several development features
150 * Mon Jan 01 2018 Thomas E. Dickey
151 - drop redundant files pattern for "*.pc"
153 * Tue Dec 26 2017 Thomas E. Dickey
154 - add --with-config-suffix option
156 * Sun Apr 26 2015 Thomas E. Dickey
157 - move package to /usr
159 * Sun Apr 12 2015 Thomas E. Dickey
162 * Sat Mar 09 2013 Thomas E. Dickey
163 - add --with-cxx-shared option to demonstrate c++ binding as shared library
165 * Sat Oct 27 2012 Thomas E. Dickey
166 - add ncurses program as "ncurses6" to provide demonstration.
168 * Fri Jun 08 2012 Thomas E. Dickey