ncurses 6.2 - patch 20200822
[ncurses.git] / package / ncurses.spec
index 61f7dee9edff41e3a7f2fb5b4ea33422e334016f..b15fc84b33b7b6e1b6420741e0e9dfbe048d217c 100644 (file)
@@ -1,15 +1,12 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
-Version: 6.1
-Release: 20180602
+Version: 6.2
+Release: 20200822
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 # URL: https://invisible-island.net/ncurses/
 
-%define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
-%define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
-
 %global MY_ABI 6
 
 # save value before redefining
@@ -27,23 +24,20 @@ updating character screens with reasonable optimization.
 
 This package is used for testing ABI %{MY_ABI}.
 
-%package -n ncursest6
-Summary:        Curses library with POSIX thread support.
-
-%description -n ncursest6
-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} with POSIX threads.
-
 %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)
 
-# nor are debug-symbols
+%if %{is_redhat}
+# generate debug/debug-source packages.
+%else
 %define debug_package %{nil}
+%endif
 
 %if %{is_mandriva}
 %define _disable_ld_as_needed 1
@@ -53,10 +47,16 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
 %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 my_srcdir ..
 %define CFG_OPTS \\\
        --target %{_target_platform} \\\
        --prefix=%{_prefix} \\\
@@ -69,6 +69,7 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --disable-leaks \\\
        --disable-macros  \\\
        --disable-overwrite  \\\
+       %{_test_relink}  \\\
        --disable-termcap \\\
        --enable-hard-tabs \\\
        --enable-opaque-curses \\\
@@ -102,79 +103,54 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --without-debug \\\
        --without-normal
 
-%global _configure ../configure
-
-mkdir BUILD-ncurses6
-pushd BUILD-ncurses6
-CFLAGS="%{CC_NORMAL}" \
-RPATH_LIST=../lib:%{_libdir} \
-CONFIGURE_TOP=%{my_srcdir} \
 %configure %{CFG_OPTS}
+
 make
-popd
-
-mkdir BUILD-ncursest6
-pushd BUILD-ncursest6
-CFLAGS="%{CC_NORMAL}" \
-RPATH_LIST=../lib:%{_libdir} \
-CONFIGURE_TOP=%{my_srcdir} \
-%configure %{CFG_OPTS} \
-       --enable-interop \
-       --enable-sp-funcs \
-       --program-suffix=t%{MY_ABI} \
-       --with-pthread
-make
-popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-pushd BUILD-ncurses6
 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} )
-popd
 
-pushd BUILD-ncursest6
-make install.libs install.progs
-rm -f test/ncurses
-( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncursest%{MY_ABI} )
-popd
+%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
-rm -rf $RPM_BUILD_ROOT
-
-%files -n ncurses6
+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}/*
-%exclude %{_bindir}/tict6
-%exclude %{_bindir}/toet6
-%exclude %{_bindir}/tabst6
-%exclude %{_bindir}/resett6
-%exclude %{_bindir}/???*tt6
-%exclude %{_bindir}/?????*t6
-%exclude %{_bindir}/*tw6*
-%exclude %dir %{_includedir}/*tw6*
-%exclude %{_includedir}/*tw6*/*
-%exclude %{_libdir}/*tw6*
-%exclude %{_libdir}/pkgconfig/*tw6*
-
-%files -n ncursest6
-%defattr(-,root,root,-)
-%{_bindir}/tict6
-%{_bindir}/toet6
-%{_bindir}/tabst6
-%{_bindir}/???*tt6
-%{_bindir}/?????*t6
-%{_bindir}/*tw6*
-%{_includedir}/*tw6*
-%{_libdir}/*tw6*
-%{_libdir}/pkgconfig/*tw6*
 
 %changelog
 
+* 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