Skip to content

Commit

Permalink
Ncurses fixes for 6.1
Browse files Browse the repository at this point in the history
- 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>
  • Loading branch information
stilor committed Jan 30, 2018
1 parent 30d741c commit 1c329c3
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 4 deletions.
3 changes: 3 additions & 0 deletions config/configure.in.in
Expand Up @@ -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@
17 changes: 17 additions & 0 deletions configure.ac
Expand Up @@ -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(
Expand Down Expand Up @@ -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])
Expand Down
153 changes: 153 additions & 0 deletions 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
9 changes: 7 additions & 2 deletions scripts/build/companion_libs/220-ncurses.sh
Expand Up @@ -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}" )
Expand Down Expand Up @@ -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
1 change: 1 addition & 0 deletions scripts/crosstool-NG.sh.in
Expand Up @@ -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" \
Expand Down
18 changes: 16 additions & 2 deletions 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
Expand Down Expand Up @@ -32,4 +46,4 @@ for x in ${PATH}; do
fi
done
PATH="${path}"
exec @TOOL_PATH@ "$@"
exec @TOOL_PATH@ ${__strip_opt} "$@"

0 comments on commit 1c329c3

Please sign in to comment.