summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-01-30 06:47:26 (GMT)
committerAlexey Neyman <stilor@att.net>2018-01-30 06:47:26 (GMT)
commit1c329c33bf4e1c6767454f98285e91ee19f1f724 (patch)
tree7862e1c9bfda8aabb266410a408b1a0bdef130b6
parent30d741c1e5dbe03970b6c45f23a3b4ed697ae9f1 (diff)
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 <stilor@att.net>
-rw-r--r--config/configure.in.in3
-rw-r--r--configure.ac17
-rw-r--r--packages/ncurses/6.1/0000-ncurses-6.1-20180129.patch153
-rw-r--r--scripts/build/companion_libs/220-ncurses.sh9
-rw-r--r--scripts/crosstool-NG.sh.in1
-rw-r--r--scripts/override/install18
6 files changed, 197 insertions, 4 deletions
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 <dickey@invisible-island.net>
+# 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 <dickey@invisible-island.net> Mon, 22 Jan 2018 20:01:38 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> 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 <dickey@invisible-island.net> Mon, 22 Jan 2018 20:01:38 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> 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 <dickey@invisible-island.net> Mon, 22 Jan 2018 20:01:38 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> 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} "$@"