1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
Release: 20221231
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
# URL: https://invisible-island.net/ncurses/
%global MY_ABI 6
# save value before redefining
%global sys_libdir %{_libdir}
# was redefined...
#global _prefix /usr/local/ncurses#{MY_ABI}
%global MY_PKG %{sys_libdir}/pkgconfig
%define MYDATA /usr/local/ncurses/share/terminfo
%description
The ncurses library routines are a terminal-independent method of
updating character screens with reasonable optimization.
This package is used for testing ABI %{MY_ABI}.
%prep
%global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
%global is_fedora %(test -f /usr/bin/dnf && echo 1 || echo 0)
%global is_centos %(test -f /etc/centos-release && echo 1 || echo 0)
%global is_redhat %(test -f /etc/redhat-release && echo 1 || echo 0)
%global is_scilinux %(test -f /etc/sl-release && echo 1 || echo 0)
%global is_suse %(test -f /etc/SuSE-release && echo 1 || echo 0)
%if %{is_redhat}
# generate debug/debug-source packages.
%else
%define debug_package %{nil}
%endif
%if %{is_mandriva}
%define _disable_ld_as_needed 1
%define _disable_ld_no_undefined 1
# libtool is not used here...
%define _disable_libtoolize 1
%define _disable_ld_build_id 1
%endif
%if %{is_fedora} || %{is_scilinux} || %{is_centos}
# workaround for toolset breakage in Fedora 28
%define _test_relink --enable-relink
%else
%define _test_relink --disable-relink
%endif
%setup -q -n ncurses-%{version}-%{release}
%build
%define CFG_OPTS \\\
--target %{_target_platform} \\\
--prefix=%{_prefix} \\\
--bindir=%{_bindir} \\\
--includedir=%{_includedir} \\\
--libdir=%{_libdir} \\\
--includedir='${prefix}/include' \\\
--disable-echo \\\
--disable-getcap \\\
--disable-leaks \\\
--disable-macros \\\
--disable-overwrite \\\
%{_test_relink} \\\
--disable-termcap \\\
--enable-hard-tabs \\\
--enable-opaque-curses \\\
--enable-opaque-form \\\
--enable-opaque-menu \\\
--enable-opaque-panel \\\
--enable-pc-files \\\
--disable-rpath \\\
--enable-stdnoreturn \\\
--enable-warnings \\\
--enable-wgetch-events \\\
--enable-widec \\\
--enable-xmc-glitch \\\
--program-suffix=%{MY_ABI} \\\
--verbose \\\
--with-abi-version=%{MY_ABI} \\\
--with-config-suffix=dev \\\
--with-cxx-shared \\\
--with-default-terminfo-dir=%{MYDATA} \\\
--with-develop \\\
--with-extra-suffix=%{MY_ABI} \\\
--with-install-prefix=$RPM_BUILD_ROOT \\\
--with-pkg-config-libdir=%{MY_PKG} \\\
--with-shared \\\
--with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \\\
--with-termlib \\\
--with-ticlib \\\
--with-trace \\\
--with-versioned-syms \\\
--with-xterm-kbs=DEL \\\
--without-ada \\\
--without-debug \\\
--without-normal
%configure %{CFG_OPTS}
make
%install
rm -rf $RPM_BUILD_ROOT
make install.libs install.progs
rm -f test/ncurses
( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses%{MY_ABI} )
%if %{is_mandriva}
# check this first because Mageia has the /etc/redhat-release file...
%else
%if %{is_fedora}
%ldconfig_scriptlets libs
%ldconfig_scriptlets c++-libs
%endif
%endif
%clean
if rm -rf $RPM_BUILD_ROOT; then
echo OK
else
find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1
fi
exit 0
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_includedir}/*
%{_libdir}/*
%changelog
* Sat Oct 16 2021 Thomas Dickey
- disable rpath to address QA_RPATHS=1 warning.
* Tue Dec 24 2019 Thomas Dickey
- drop custom CC_NORMAL warning flags because setting CFLAGS interferes with
matching Fedora's PIE/PIC configuration. Also, generate debug/debug-source
packages.
* Sat Nov 16 2019 Thomas Dickey
- modify clean-rule to work around Fedora NFS bugs.
* Sat Aug 25 2018 Thomas E. Dickey
- split spec-file into ncurses6 and ncursest6 to work around toolset breakage
in Fedora 28
* Sat Jun 02 2018 Thomas E. Dickey
- build-fix for Mageia
* Sat May 26 2018 Thomas E. Dickey
- use predefined configure-macro
- separate ncurses6/ncursest6 packages
* Sat Feb 10 2018 Thomas E. Dickey
- add ncursest6 package
- add several development features
* Mon Jan 01 2018 Thomas E. Dickey
- drop redundant files pattern for "*.pc"
* Tue Dec 26 2017 Thomas E. Dickey
- add --with-config-suffix option
* Sun Apr 26 2015 Thomas E. Dickey
- move package to /usr
* Sun Apr 12 2015 Thomas E. Dickey
- factor-out MY_ABI
* Sat Mar 09 2013 Thomas E. Dickey
- add --with-cxx-shared option to demonstrate c++ binding as shared library
* Sat Oct 27 2012 Thomas E. Dickey
- add ncurses program as "ncurses6" to provide demonstration.
* Fri Jun 08 2012 Thomas E. Dickey
- initial version.
|