SHA256
3
0
forked from pool/ncurses

Accepting request 791735 from Base:System

- Use %() to extract patch date for adding it to version 
  * add script get_version_number.sh which is used within the
    spec file to determine the actual patch version date

- Add ncurses patch 20200404
  + modify -fvisibility check to work with g++
  > fixes for building with Visual Studio C++ and msys2 (patches by
    "Maarten Anonymous"):
  + add configure option and check for gcc -fvisibility=hidden feature
  + define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio
    C++ preprocessor limitations.
  + modify some of the configure-macros, as well as mk-1st.awk to work
    with Visual Studio C++ default filenaming.

- Add ncurses patch 20200328
  + correct length of buffer copied in dup_field().
  + remove "$(srcdir)/" from path of library.gpr, needed for out-of-tree
    builds of Ada95 (patch by Adam Van Ymeren).

OBS-URL: https://build.opensuse.org/request/show/791735
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ncurses?expand=0&rev=170
This commit is contained in:
Dominique Leuenberger 2020-04-10 21:52:22 +00:00 committed by Git OBS Bridge
commit 60811f79ab
5 changed files with 75 additions and 29 deletions

15
get_version_number.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# Note: this file is used in the spec file, do not remove it
sourcedir=$1
test -n "${sourcedir}" || sourcedir=$PWD
test -e ${sourcedir}/ncurses.spec || exit 1
version=$(sed -rn '/^Version:[[:space:]]+/{s/^Version:[[:space:]]+([0-9]+\.[0-9]+)(\.[^\.]+)?/\1/p}' ${sourcedir}/ncurses.spec) || exit 1
test -e ${sourcedir}/ncurses-${version}.tar.gz || exit 1
last=($(tar Oxf ${sourcedir}/ncurses-${version}.tar.gz ncurses-${version}/VERSION)) || exit 1
test -e ${sourcedir}/ncurses-${version}-patches.tar.bz2 || echo ${last[2]}
tar --wildcards -tf ${sourcedir}/ncurses-${version}-patches.tar.bz2 '*/*.patch' &> /dev/null || echo ${last[2]}
OFS="$IFS"
IFS=-
last=($(tar -tf ${sourcedir}/ncurses-${version}-patches.tar.bz2 | sed -r 's@\.patch$@@'| sort -t '-' -k 3,3 -n | tail -n 1))
IFS="$OFS"
echo ${last[2]}

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a956b68882ca20ca98de238655ef447e74df655dd824327392d4da8211c8acb
size 292596
oid sha256:7400447eca28922c8647427d7b2c3c02987ec97deb2c222ac122811fc0dd654c
size 358126

View File

@ -22,7 +22,7 @@
--- aclocal.m4
+++ aclocal.m4 2020-03-09 09:17:28.745300221 +0000
@@ -583,7 +583,7 @@ AC_MSG_CHECKING([for size of bool])
@@ -617,7 +617,7 @@ AC_MSG_CHECKING([for size of bool])
AC_CACHE_VAL(cf_cv_type_of_bool,[
rm -f cf_test.out
AC_TRY_RUN([
@ -31,7 +31,7 @@
#include <stdio.h>
#if defined(__cplusplus)
@@ -5321,12 +5321,15 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5409,12 +5409,15 @@ cat >>$cf_edit_man <<CF_EOF
echo '? missing rename for '\$cf_source
cf_target="\$cf_source"
fi
@ -49,7 +49,7 @@
sed -f $cf_man_alias \\
CF_EOF
@@ -5336,7 +5339,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5424,7 +5427,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@ -58,7 +58,7 @@
CF_EOF
fi
@@ -5376,7 +5379,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5464,7 +5467,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
@ -67,7 +67,7 @@
CF_EOF
fi
@@ -5385,23 +5388,23 @@ case "$MANPAGE_FORMAT" in
@@ -5473,23 +5476,23 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test \$form = format ; then
# BSDI installs only .0 suffixes in the cat directories
@ -97,7 +97,7 @@
for cf_alias in \$aliases
do
if test \$section = 1 ; then
@@ -5410,7 +5413,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5498,7 +5501,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f \$cf_alias\${suffix} ; then
@ -106,7 +106,7 @@
then
continue
fi
@@ -5420,18 +5423,18 @@ CF_EOF
@@ -5508,18 +5511,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@ -128,7 +128,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
@@ -5451,9 +5454,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5539,9 +5542,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test \$verb = removing ; then
@ -141,7 +141,7 @@
)
test -d \$cf_subdir\${section} &&
test -n "\$aliases" && (
@@ -5473,6 +5476,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -5561,6 +5564,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@ -151,7 +151,7 @@
done
--- configure
+++ configure 2020-03-09 09:17:28.749300145 +0000
@@ -5600,7 +5600,7 @@ echo $ECHO_N "checking for an rpath opti
@@ -5620,7 +5620,7 @@ echo $ECHO_N "checking for an rpath opti
fi
;;
(linux*|gnu*|k*bsd*-gnu|freebsd*)
@ -160,7 +160,7 @@
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
@@ -14104,12 +14104,15 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14124,12 +14124,15 @@ cat >>$cf_edit_man <<CF_EOF
echo '? missing rename for '\$cf_source
cf_target="\$cf_source"
fi
@ -178,7 +178,7 @@
sed -f $cf_man_alias \\
CF_EOF
@@ -14119,7 +14122,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14139,7 +14142,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@ -187,7 +187,7 @@
CF_EOF
fi
@@ -14159,7 +14162,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14179,7 +14182,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
@ -196,7 +196,7 @@
CF_EOF
fi
@@ -14168,23 +14171,23 @@ case "$MANPAGE_FORMAT" in
@@ -14188,23 +14191,23 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test \$form = format ; then
# BSDI installs only .0 suffixes in the cat directories
@ -226,7 +226,7 @@
for cf_alias in \$aliases
do
if test \$section = 1 ; then
@@ -14193,7 +14196,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14213,7 +14216,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f \$cf_alias\${suffix} ; then
@ -235,7 +235,7 @@
then
continue
fi
@@ -14203,18 +14206,18 @@ CF_EOF
@@ -14223,18 +14226,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@ -257,7 +257,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
@@ -14234,9 +14237,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14254,9 +14257,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test \$verb = removing ; then
@ -270,7 +270,7 @@
)
test -d \$cf_subdir\${section} &&
test -n "\$aliases" && (
@@ -14256,6 +14259,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14276,6 +14279,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@ -278,7 +278,7 @@
;;
esac
done
@@ -25443,6 +25447,7 @@ if test "$with_termlib" != no ; then
@@ -25860,6 +25864,7 @@ if test "$with_termlib" != no ; then
TINFO_LDFLAGS="-L${LIB_DIR}"
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
fi

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Mon Apr 6 10:31:47 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Use %() to extract patch date for adding it to version
* add script get_version_number.sh which is used within the
spec file to determine the actual patch version date
-------------------------------------------------------------------
Mon Apr 6 06:50:14 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20200404
+ modify -fvisibility check to work with g++
> fixes for building with Visual Studio C++ and msys2 (patches by
"Maarten Anonymous"):
+ add configure option and check for gcc -fvisibility=hidden feature
+ define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio
C++ preprocessor limitations.
+ modify some of the configure-macros, as well as mk-1st.awk to work
with Visual Studio C++ default filenaming.
-------------------------------------------------------------------
Mon Mar 30 12:10:47 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20200328
+ correct length of buffer copied in dup_field().
+ remove "$(srcdir)/" from path of library.gpr, needed for out-of-tree
builds of Ada95 (patch by Adam Van Ymeren).
-------------------------------------------------------------------
Mon Mar 23 08:19:29 UTC 2020 - Dr. Werner Fink <werner@suse.de>

View File

@ -31,6 +31,9 @@
%global soname_tinfo tinfow
%endif
%define patchlvl %(bash %{_sourcedir}/get_version_number.sh %{_sourcedir})
%define basevers 6.2
Name: ncurses
#!BuildIgnore: terminfo
%if %{with hasheddb}
@ -56,7 +59,7 @@ Obsoletes: ncurses-64bit
# but also build the ABI version 5 as this is part of the source
# tar ball including the latest upstream fixes for ABI 5.
#
Version: 6.2
Version: 6.2.%{patchlvl}
Release: 0
Summary: Terminal control library
#Git: http://ncurses.scripts.mit.edu
@ -292,7 +295,7 @@ timings needed to ensure that screen updates do not fall behind the
incoming data stream.
%prep
%setup -q
%setup -q -n %{name}-%{basevers}
tar -xjf %{S:1}
set +x
for patch in patches/ncurses*.patch
@ -591,9 +594,9 @@ mv tack-* tack
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
-Wl,--version-script,ncurses/resulting.map -o %{root}%{_libdir}/libtinfow.so.%{version}
cp -p %{root}%{_libdir}/libtinfo.so.%{version} libtinfo.so.%{version}.back
cp -p %{root}%{_libdir}/libtinfow.so.%{version} libtinfow.so.%{version}.back
-Wl,--version-script,ncurses/resulting.map -o %{root}%{_libdir}/libtinfow.so.%{basevers}
cp -p %{root}%{_libdir}/libtinfo.so.%{basevers} libtinfo.so.%{basevers}.back
cp -p %{root}%{_libdir}/libtinfow.so.%{basevers} libtinfow.so.%{basevers}.back
%endif
ln -sf %{_incdir}/ncurses/{curses,ncurses,term,termcap}.h %{root}%{_incdir}
mkdir pc
@ -739,8 +742,8 @@ includedir5=%{_incdir}/ncurses5' "$pc"
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir} includesubdir=/ncurses libdir=%{_libdir}
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
cp -p libtinfo.so.%{version}.back %{root}%{_libdir}/libtinfo.so.%{version}
cp -p libtinfow.so.%{version}.back %{root}%{_libdir}/libtinfow.so.%{version}
cp -p libtinfo.so.%{basevers}.back %{root}%{_libdir}/libtinfo.so.%{basevers}
cp -p libtinfow.so.%{basevers}.back %{root}%{_libdir}/libtinfow.so.%{basevers}
%endif
pushd man
sh ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1
@ -1060,7 +1063,7 @@ includedir5=%{_incdir}/ncurses5' "$pc"
LD_LIBRARY_PATH=%{buildroot}/%{_lib}:%{buildroot}%{_libdir}
export LD_LIBRARY_PATH
%if %{with onlytinfo}
nm -D %{buildroot}/%{_lib}/libtinfo.so.%{version} | grep -q _nc_read_entry2
nm -D %{buildroot}/%{_lib}/libtinfo.so.%{basevers} | grep -q _nc_read_entry2
%endif
%if 0%{?suse_version} > 1500
pushd test