From 1c329c33bf4e1c6767454f98285e91ee19f1f724 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 29 Jan 2018 22:47:26 -0800 Subject: Ncurses fixes for 6.1 - Update to 20180129 - Throw in --disable-db-install if database is disabled; otherwise 'make install' tries to run tic which is not built. - Select appropriate strip utility for the host; otherwise non-x86 architectures fail to install (unless --disable-stripping is also added) Signed-off-by: Alexey Neyman diff --git a/config/configure.in.in b/config/configure.in.in index aaebbde..3560336 100644 --- a/config/configure.in.in +++ b/config/configure.in.in @@ -44,3 +44,6 @@ config CONFIGURE_has_svn config CONFIGURE_has_git @KCONFIG_git@ + +config CONFIGURE_has_install_with_strip_program + @KCONFIG_install_with_strip_program@ diff --git a/configure.ac b/configure.ac index 24dcbcd..8ae98bf 100644 --- a/configure.ac +++ b/configure.ac @@ -119,6 +119,22 @@ AC_DEFUN( [AC_MSG_ERROR([Required tool not found: $2])]) ]) +# Check if install(1) supports --strip-program=... +AC_DEFUN( + [ACX_INSTALL_STRIP_PROGRAM], + [touch conftest + mkdir conftest.dir + AC_MSG_CHECKING([if install takes --strip-program option]) + AS_IF([$INSTALL --strip-program=true -s conftest conftest.dir/conftest 2>/dev/null], + [install_with_strip_program=y + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + ACX_SET_KCONFIG_OPTION([install_with_strip_program]) + rm -rf conftest.dir + rm -f conftest + ]) + + #-------------------------------------------------------------------- # Allow dummy --{en,dis}able-{static,shared} AC_ARG_ENABLE( @@ -159,6 +175,7 @@ AC_ARG_PROGRAM ACX_WITH_DEPRECATED([install], [INSTALL]) AC_ARG_VAR([INSTALL], [Specify the full path to a BSD-compatible install]) AC_PROG_INSTALL +ACX_INSTALL_STRIP_PROGRAM ACX_WITH_DEPRECATED([grep], [GREP]) AC_ARG_VAR([GREP], [Specify the full path to GNU grep]) diff --git a/packages/ncurses/6.1/0000-ncurses-6.1-20180129.patch b/packages/ncurses/6.1/0000-ncurses-6.1-20180129.patch new file mode 100644 index 0000000..766674e --- /dev/null +++ b/packages/ncurses/6.1/0000-ncurses-6.1-20180129.patch @@ -0,0 +1,153 @@ +# ncurses 6.1 - patch 20180129 - Thomas E. Dickey +# +# ------------------------------------------------------------------------------ +# +# Ncurses 6.1 is at +# ftp.gnu.org:/pub/gnu +# +# Patches for ncurses 6.1 can be found at +# ftp://ftp.invisible-island.net/ncurses/6.0 +# http://invisible-mirror.net/archives/ncurses/6.1 +# +# ------------------------------------------------------------------------------ +# ftp://ftp.invisible-island.net/ncurses/6.0/ncurses-6.1-20180129.patch.gz +# patch by Thomas E. Dickey +# created Tue Jan 30 01:18:41 UTC 2018 +# ------------------------------------------------------------------------------ +# NEWS | 7 ++++++- +# VERSION | 2 +- +# dist.mk | 4 ++-- +# package/debian-mingw/changelog | 4 ++-- +# package/debian-mingw64/changelog | 4 ++-- +# package/debian/changelog | 4 ++-- +# package/mingw-ncurses.nsi | 4 ++-- +# package/mingw-ncurses.spec | 2 +- +# package/ncurses.spec | 2 +- +# 9 files changed, 19 insertions(+), 14 deletions(-) +# ------------------------------------------------------------------------------ +--- a/NEWS ++++ b/NEWS +@@ -25,7 +25,7 @@ + -- sale, use or other dealings in this Software without prior written -- + -- authorization. -- + ------------------------------------------------------------------------------- +--- $Id: NEWS,v 1.3069 2018/01/27 15:28:53 tom Exp $ ++-- $Id: NEWS,v 1.3071 2018/01/30 00:35:11 tom Exp $ + ------------------------------------------------------------------------------- + + This is a log of changes that ncurses has gone through since Zeyd started +@@ -45,6 +45,11 @@ + Changes through 1.9.9e did not credit all contributions; + it is not possible to add this information. + ++20180129 ++ + update "VERSION" file, used in shared-library naming. ++ ++20180127 6.1 release for upload to ftp.gnu.org ++ + 20180127 + + updated release notes + + amend a warning message from tic which should have flagged misuse +--- a/VERSION ++++ b/VERSION +@@ -1 +1 @@ +-5:0:9 6.0 20180127 ++5:0:10 6.1 20180129 +--- a/dist.mk ++++ b/dist.mk +@@ -25,7 +25,7 @@ + # use or other dealings in this Software without prior written # + # authorization. # + ############################################################################## +-# $Id: dist.mk,v 1.1207 2018/01/22 11:42:46 tom Exp $ ++# $Id: dist.mk,v 1.1208 2018/01/30 00:32:36 tom Exp $ + # Makefile for creating ncurses distributions. + # + # This only needs to be used directly as a makefile by developers, but +@@ -37,7 +37,7 @@ + # These define the major/minor/patch versions of ncurses. + NCURSES_MAJOR = 6 + NCURSES_MINOR = 1 +-NCURSES_PATCH = 20180127 ++NCURSES_PATCH = 20180129 + + # We don't append the patch to the version, since this only applies to releases + VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) +--- a/package/debian-mingw/changelog ++++ b/package/debian-mingw/changelog +@@ -1,8 +1,8 @@ +-ncurses6 (6.1+20180127) unstable; urgency=low ++ncurses6 (6.1+20180129) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey Mon, 22 Jan 2018 20:01:38 -0500 ++ -- Thomas E. Dickey Mon, 29 Jan 2018 19:32:37 -0500 + + ncurses6 (5.9-20131005) unstable; urgency=low + +--- a/package/debian-mingw64/changelog ++++ b/package/debian-mingw64/changelog +@@ -1,8 +1,8 @@ +-ncurses6 (6.1+20180127) unstable; urgency=low ++ncurses6 (6.1+20180129) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey Mon, 22 Jan 2018 20:01:38 -0500 ++ -- Thomas E. Dickey Mon, 29 Jan 2018 19:32:37 -0500 + + ncurses6 (5.9-20131005) unstable; urgency=low + +--- a/package/debian/changelog ++++ b/package/debian/changelog +@@ -1,8 +1,8 @@ +-ncurses6 (6.1+20180127) unstable; urgency=low ++ncurses6 (6.1+20180129) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey Mon, 22 Jan 2018 20:01:38 -0500 ++ -- Thomas E. Dickey Mon, 29 Jan 2018 19:32:37 -0500 + + ncurses6 (5.9-20120608) unstable; urgency=low + +--- a/package/mingw-ncurses.nsi ++++ b/package/mingw-ncurses.nsi +@@ -1,4 +1,4 @@ +-; $Id: mingw-ncurses.nsi,v 1.254 2018/01/23 01:01:38 tom Exp $ ++; $Id: mingw-ncurses.nsi,v 1.255 2018/01/30 00:32:37 tom Exp $ + + ; TODO add examples + ; TODO bump ABI to 6 +@@ -10,7 +10,7 @@ + !define VERSION_MAJOR "6" + !define VERSION_MINOR "1" + !define VERSION_YYYY "2018" +-!define VERSION_MMDD "0127" ++!define VERSION_MMDD "0129" + !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} + + !define MY_ABI "5" +--- a/package/mingw-ncurses.spec ++++ b/package/mingw-ncurses.spec +@@ -3,7 +3,7 @@ + Summary: shared libraries for terminal handling + Name: mingw32-ncurses6 + Version: 6.1 +-Release: 20180127 ++Release: 20180129 + License: X11 + Group: Development/Libraries + Source: ncurses-%{version}-%{release}.tgz +--- a/package/ncurses.spec ++++ b/package/ncurses.spec +@@ -1,7 +1,7 @@ + Summary: shared libraries for terminal handling + Name: ncurses6 + Version: 6.1 +-Release: 20180127 ++Release: 20180129 + License: X11 + Group: Development/Libraries + Source: ncurses-%{version}-%{release}.tgz diff --git a/scripts/build/companion_libs/220-ncurses.sh b/scripts/build/companion_libs/220-ncurses.sh index a32df42..97fb834 100644 --- a/scripts/build/companion_libs/220-ncurses.sh +++ b/scripts/build/companion_libs/220-ncurses.sh @@ -52,7 +52,8 @@ do_ncurses_for_host() { "--without-cxx-binding" \ "--without-ada" ) if [ "${CT_NCURSES_HOST_DISABLE_DB}" = "y" ]; then - opts+=( "--disable-database" ) + opts+=( "--disable-database" \ + "--disable-db-install" ) fi if [ -n "${CT_NCURSES_HOST_FALLBACKS}" ]; then opts+=( "--with-fallbacks=${CT_NCURSES_HOST_FALLBACKS}" ) @@ -174,8 +175,12 @@ do_ncurses_backend() { # install.progs) do not do well with parallel make (-jX). CT_DoLog EXTRA "Building ncurses" CT_DoExecLog ALL make ${JOBSFLAGS} + + # STRIPPROG is handled by our wrapper around install. CT_DoLog EXTRA "Installing ncurses" - CT_DoExecLog ALL make "${install_target}" + CT_DoExecLog ALL \ + STRIPPROG="${host}-strip" \ + make "${install_target}" } fi diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index cc216f9..878681a 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -123,6 +123,7 @@ cat "${CT_LIB_DIR}/paths.sh" |while read trash line; do CT_DoLog DEBUG "Creating script-override for '${tool}' -> '${path}' using '${tmpl}' template" CT_DoExecLog ALL cp "${tmpl}" "${CT_TOOLS_OVERRIDE_DIR}/bin/${tool}" CT_DoExecLog ALL ${sed} -i -r \ + -e "s#@INSTALL_WITH_STRIP_PROGRAM@#${CT_CONFIGURE_has_install_with_strip_program}#g" \ -e "s#@CONFIG_SHELL@#${CT_CONFIG_SHELL}#g" \ -e "s#@TOOL_PATH@#${path}#g" \ -e "s#@TOOLS_OVERRIDE_DIR@#${CT_TOOLS_OVERRIDE_DIR}#g" \ diff --git a/scripts/override/install b/scripts/override/install index e3954fb..720866f 100644 --- a/scripts/override/install +++ b/scripts/override/install @@ -1,8 +1,22 @@ #!@CONFIG_SHELL@ +# GNU install takes the program to run to strip a binary via a --strip-program= +# argument. Fallback script, install-sh, chokes on any unknown option and takes +# the program name via $STRIPPROG variable - but that variable is ignored by +# GNU install. BSD install uses $STRIPBIN. +# +# If using GNU install, convert to the command line option. In any case, set +# STRIPPROG and STRIPBIN - they're either supported or harmless. +if [ -n "${STRIPPROG}" ]; then + if [ "@INSTALL_WITH_STRIP_PROGRAM@" = "y" ]; then + __strip_opt="--strip-program=${STRIPPROG}" + fi + export STRIPBIN="${STRIPPROG}" +fi + # Do the most common case first if [ -z "${__PORTAGE_HELPER_PATH}" ]; then - exec @TOOL_PATH@ "$@" + exec @TOOL_PATH@ ${__strip_opt} "$@" fi # Not so simple case: Gentoo uses *two* wrappers around install script @@ -32,4 +46,4 @@ for x in ${PATH}; do fi done PATH="${path}" -exec @TOOL_PATH@ "$@" +exec @TOOL_PATH@ ${__strip_opt} "$@" -- cgit v0.10.2-6-g49f6