ncurses 6.2 - patch 20200229
[ncurses.git] / package / ncurses.spec
index d8555f0530ad953604896dcbf7f46e0237d4dd2b..a4f7b153d66b35e1179e7f5db3eeb096b4604607 100644 (file)
@@ -1,15 +1,12 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
-Version: 6.1
-Release: 20180519
+Version: 6.2
+Release: 20200229
 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,17 +24,39 @@ 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.
+%prep
 
-%description -n ncursest6
-The ncurses library routines are a terminal-independent method of
-updating character screens with reasonable optimization.
+%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)
 
-This package is used for testing ABI %{MY_ABI} with POSIX threads.
+%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
 
-%prep
+%setup -q -n ncurses-%{version}-%{release}
 
+%build
 %define CFG_OPTS \\\
        --target %{_target_platform} \\\
        --prefix=%{_prefix} \\\
@@ -50,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 \\\
@@ -83,56 +103,35 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --without-debug \\\
        --without-normal
 
-%define debug_package %{nil}
-%setup -q -n ncurses-%{version}-%{release}
+%configure %{CFG_OPTS}
 
-%build
-
-mkdir BUILD-ncurses6
-pushd BUILD-ncurses6
-CFLAGS="%{CC_NORMAL}" \
-RPATH_LIST=../lib:%{_prefix}/lib \
-../configure %{CFG_OPTS}
-make
-popd
-
-mkdir BUILD-ncursest6
-pushd BUILD-ncursest6
-CFLAGS="%{CC_NORMAL}" \
-RPATH_LIST=../lib:%{_prefix}/lib \
-../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
-%defattr(-,root,root,-)
-%{_bindir}/*
-%{_includedir}/*
-%{_libdir}/*
-
-%files -n ncursest6
+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}/*
@@ -140,6 +139,25 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
+
+* 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