mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Ladislav Michl <ladis@linux-mips.org>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 1/4] ncurses: version bump 5.9 -> 6.1
Date: Thu, 22 Feb 2018 09:12:20 +0100	[thread overview]
Message-ID: <20180222081220.movvdagejb7pen6e@pengutronix.de> (raw)
In-Reply-To: <20180209141419.GB24531@lenoch>

[-- Attachment #1: Type: text/plain, Size: 4841 bytes --]

Hi,

I took a closer look at this and checked what Debian is doing. I've
attached a fixup patch that changes a few things:

- use abi version 5. Some packages lock for that version explicitly.
- use linker scripts too deal with the tinfo problem
- fix some usr-merge fallout.

On Fri, Feb 09, 2018 at 03:14:19PM +0100, Ladislav Michl wrote:
> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> ---
>  .../0001-teach-ncurses-config-about-sysroot.patch  | 39 +++++-----
>  patches/{ncurses-5.9 => ncurses-6.1}/series        |  0
>  rules/ncurses.make                                 | 87 +++++++++++-----------
>  3 files changed, 61 insertions(+), 65 deletions(-)
>
[...]
> diff --git a/rules/ncurses.make b/rules/ncurses.make
> index c2fcde478..40be792fb 100644
> --- a/rules/ncurses.make
> +++ b/rules/ncurses.make
> @@ -15,9 +15,9 @@ PACKAGES-$(PTXCONF_NCURSES) += ncurses
>  #
>  # Paths and names
>  #
> -NCURSES_VERSION	:= 5.9
> +NCURSES_VERSION	:= 6.1
>  NCURSES_MAJOR	:= $(word 1,$(subst ., ,$(NCURSES_VERSION)))
> -NCURSES_MD5	:= 8cb9c412e5f2d96bc6f459aa8c6282a1
> +NCURSES_MD5	:= 98c889aaf8d23910d2b92d65be2e737a
>  NCURSES		:= ncurses-$(NCURSES_VERSION)
>  NCURSES_SUFFIX	:= tar.gz
>  NCURSES_URL	:= $(call ptx/mirror, GNU, ncurses/$(NCURSES).$(NCURSES_SUFFIX))
> @@ -31,58 +31,57 @@ NCURSES_LICENSE_FILES	:= \
>  # Prepare
>  # ----------------------------------------------------------------------------
>  
> -NCURSES_ENV := \
> +NCURSES_CONF_TOOL := autoconf
> +NCURSES_CONF_ENV := \
>  	$(CROSS_ENV) \
>  	TIC_PATH="$(PTXCONF_SYSROOT_HOST)/bin/tic"
> -
> -NCURSES_AUTOCONF_SHARED := \

NCURSES_AUTOCONF_SHARED is used by host-ncurses, so this is still needed in
some way.

Michael

> -	--without-cxx-binding \
> -	--disable-echo \
> -	--disable-nls \
> -	--enable-const \
> -	--enable-overwrite \
> -	--libdir=/$(CROSS_LIB_DIR) \
> -	--without-debug \
> -	--without-normal \
> +# NOTE: reentrant enables opaque, which breaks other packages
> +# pthread enables reentrant, so don't enable it either
> +NCURSES_CONF_OPT := \
> +	$(CROSS_AUTOCONF_USR) \
>  	--without-ada \
> -	--without-gpm \
> +	--without-cxx \
> +	--without-cxx-binding \
> +	--enable-db-install \
>  	--without-manpages \
> +	--without-progs \
> +	--without-tack \
>  	--without-tests \
> +	--with-curses-h \
> +	--enable-pc-files \
>  	--enable-mixed-case \
> -	--with-ticlib=yes \
> +	--without-libtool \
> +	--with-shared \
> +	--with-normal \
> +	--without-debug \
> +	--without-profile \
> +	--without-cxx-shared \
> +	--with-termlib \
> +	--with-ticlib \
> +	--without-gpm \
> +	--without-dlsym \
> +	--without-sysmouse \
> +	--disable-rpath \
>  	--disable-relink \
> +	--disable-rpath-hack \
> +	--enable-overwrite \
> +	--$(call ptx/endis,PTXCONF_NCURSES_BIG_CORE)-big-core \
>  	--disable-big-strings \
> -	--disable-sp-funcs \
> +	--$(call ptx/endis,PTXCONF_NCURSES_WIDE_CHAR)-widec \
> +	--enable-ext-funcs \
> +	--enable-sp-funcs \
>  	--disable-term-driver \
> +	--enable-const \
> +	--enable-ext-colors \
>  	--disable-ext-mouse \
> -	--disable-interop \
> -	--disable-rpath \
> -	--disable-rpath-hack \
> -	--disable-ext-colors \
> +	--disable-ext-putwin \
> +	--disable-no-padding \
> +	--disable-signed-char \
> +	--disable-sigwinch \
>  	--without-pthread \
> -	--disable-reentrant
> -
> -# NOTE: reentrant enables opaque, which breaks other packages
> -# pthread enables reentrant, so don't enable it either
> -
> -# enable wide char support on demand only
> -ifdef PTXCONF_NCURSES_WIDE_CHAR
> -NCURSES_AUTOCONF_SHARED += --enable-widec
> -else
> -NCURSES_AUTOCONF_SHARED += --disable-widec
> -endif
> -
> -ifdef PTXCONF_NCURSES_BIG_CORE
> -NCURSES_AUTOCONF_SHARED += --enable-big-core
> -else
> -NCURSES_AUTOCONF_SHARED += --disable-big-core
> -endif
> -
> -NCURSES_AUTOCONF := \
> -	$(CROSS_AUTOCONF_USR) \
> -	$(NCURSES_AUTOCONF_SHARED) \
> -	--with-shared \
> -	--without-progs
> +	--disable-reentrant \
> +	--without-develop \
> +	--disable-interop
>  
>  NCURSES_CPPFLAGS := -P

This was for some problems with newer compiler versions. Is this still
needed?

Michael

>  
> @@ -96,7 +95,7 @@ ifdef PTXCONF_NCURSES_WIDE_CHAR
>  # library even if they request for the non wide char library
>  # Done by forcing the linker to use the right library instead
>  #
> -NCURSES_LIBRARY_LIST := ncurses
> +NCURSES_LIBRARY_LIST := ncurses tic tinfo
>  
>  ifdef PTXCONF_NCURSES_FORM
>  NCURSES_LIBRARY_LIST += form
> -- 
> 2.16.1
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: 0001-fixup-ncurses-version-bump-5.9-6.1.patch --]
[-- Type: text/x-diff, Size: 5104 bytes --]

From 345f60f68cc2cf6920bce72b814bc4d62be9a090 Mon Sep 17 00:00:00 2001
From: Michael Olbrich <m.olbrich@pengutronix.de>
Date: Thu, 22 Feb 2018 09:07:52 +0100
Subject: [PATCH] fixup! ncurses: version bump 5.9 -> 6.1

---
 rules/ncurses.make | 54 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/rules/ncurses.make b/rules/ncurses.make
index 9ff9b2f517db..ba474cbf815b 100644
--- a/rules/ncurses.make
+++ b/rules/ncurses.make
@@ -39,6 +39,7 @@ NCURSES_CONF_ENV := \
 # pthread enables reentrant, so don't enable it either
 NCURSES_CONF_OPT := \
 	$(CROSS_AUTOCONF_USR) \
+	--with-abi-version=5 \
 	--without-ada \
 	--without-cxx \
 	--without-cxx-binding \
@@ -95,7 +96,7 @@ ifdef PTXCONF_NCURSES_WIDE_CHAR
 # library even if they request for the non wide char library
 # Done by forcing the linker to use the right library instead
 #
-NCURSES_LIBRARY_LIST := ncurses tic tinfo
+NCURSES_LIBRARY_LIST := tic tinfo
 
 ifdef PTXCONF_NCURSES_FORM
 NCURSES_LIBRARY_LIST += form
@@ -120,13 +121,16 @@ ifdef PTXCONF_NCURSES_WIDE_CHAR
 # For this, the links at runtime are required
 #
 	for lib in $(NCURSES_LIBRARY_LIST); do \
-		echo "INPUT(-l$${lib}w)" > $(NCURSES_PKGDIR)/$(CROSS_LIB_DIR)/lib$${lib}.so ; \
+		echo "INPUT(-l$${lib}w)" > $(NCURSES_PKGDIR)/usr/$(CROSS_LIB_DIR)/lib$${lib}.so ; \
 	done
-	echo "INPUT(-lncursesw)" > $(NCURSES_PKGDIR)/$(CROSS_LIB_DIR)/libcurses.so
+	rm $(NCURSES_PKGDIR)/usr/$(CROSS_LIB_DIR)/libncursesw.so
+	echo "INPUT(libncursesw.so.5 -ltinfo)" > $(NCURSES_PKGDIR)/usr/$(CROSS_LIB_DIR)/libncursesw.so
 
-	ln -sf -- "ncursesw$(NCURSES_MAJOR)-config" \
-		"$(NCURSES_PKGDIR)/usr/bin/ncurses$(NCURSES_MAJOR)-config"
+	ln -sf -- "ncursesw5-config" \
+		"$(NCURSES_PKGDIR)/usr/bin/ncurses5-config"
 endif
+	echo "INPUT(libncurses$(NCURSES_WIDE).so.5 -ltinfo)" > $(NCURSES_PKGDIR)/usr/$(CROSS_LIB_DIR)/libncurses.so
+	ln -s libncurses.so $(NCURSES_PKGDIR)/usr/$(CROSS_LIB_DIR)/libcurses.so
 	@$(call touch)
 
 $(STATEDIR)/ncurses.install.post:
@@ -151,22 +155,22 @@ $(STATEDIR)/ncurses.targetinstall:
 	@$(call install_lib, ncurses, 0, 0, 0644, libncurses$(NCURSES_WIDE))
 
 ifdef PTXCONF_NCURSES_BACKWARD_COMPATIBLE_NON_WIDE_CHAR
-	@$(call install_link, ncurses, libncursesw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libncurses.so.$(NCURSES_VERSION))
-	@$(call install_link, ncurses, libncursesw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libncurses.so.$(NCURSES_MAJOR))
-	@$(call install_link, ncurses, libncursesw.so.$(NCURSES_VERSION), \
+	@$(call install_link, ncurses, libncursesw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libncurses.so.5.9)
+	@$(call install_link, ncurses, libncursesw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libncurses.so.5)
+	@$(call install_link, ncurses, libncursesw.so.5.9, \
 		/$(CROSS_LIB_DIR)/libncurses.so)
 endif
 
 ifdef PTXCONF_NCURSES_FORM
 	@$(call install_lib, ncurses, 0, 0, 0644, libform$(NCURSES_WIDE))
 ifdef PTXCONF_NCURSES_BACKWARD_COMPATIBLE_NON_WIDE_CHAR
-	@$(call install_link, ncurses, libformw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libform.so.$(NCURSES_VERSION))
-	@$(call install_link, ncurses, libformw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libform.so.$(NCURSES_MAJOR))
-	@$(call install_link, ncurses, libformw.so.$(NCURSES_VERSION), \
+	@$(call install_link, ncurses, libformw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libform.so.5.9)
+	@$(call install_link, ncurses, libformw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libform.so.5)
+	@$(call install_link, ncurses, libformw.so.5.9, \
 		/$(CROSS_LIB_DIR)/libform.so)
 endif
 endif
@@ -175,11 +179,11 @@ endif
 ifdef PTXCONF_NCURSES_MENU
 	@$(call install_lib, ncurses, 0, 0, 0644, libmenu$(NCURSES_WIDE))
 ifdef PTXCONF_NCURSES_BACKWARD_COMPATIBLE_NON_WIDE_CHAR
-	@$(call install_link, ncurses, libmenuw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libmenu.so.$(NCURSES_VERSION))
-	@$(call install_link, ncurses, libmenuw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libmenu.so.$(NCURSES_MAJOR))
-	@$(call install_link, ncurses, libmenuw.so.$(NCURSES_VERSION), \
+	@$(call install_link, ncurses, libmenuw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libmenu.so.5.9)
+	@$(call install_link, ncurses, libmenuw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libmenu.so.5)
+	@$(call install_link, ncurses, libmenuw.so.5.9, \
 		/$(CROSS_LIB_DIR)/libmenu.so)
 endif
 endif
@@ -188,11 +192,11 @@ endif
 ifdef PTXCONF_NCURSES_PANEL
 	@$(call install_lib, ncurses, 0, 0, 0644, libpanel$(NCURSES_WIDE))
 ifdef PTXCONF_NCURSES_BACKWARD_COMPATIBLE_NON_WIDE_CHAR
-	@$(call install_link, ncurses, libpanelw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libpanel.so.$(NCURSES_VERSION))
-	@$(call install_link, ncurses, libpanelw.so.$(NCURSES_VERSION), \
-		/$(CROSS_LIB_DIR)/libpanel.so.$(NCURSES_MAJOR))
-	@$(call install_link, ncurses, libpanelw.so.$(NCURSES_VERSION), \
+	@$(call install_link, ncurses, libpanelw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libpanel.so.5.9)
+	@$(call install_link, ncurses, libpanelw.so.5.9, \
+		/$(CROSS_LIB_DIR)/libpanel.so.5)
+	@$(call install_link, ncurses, libpanelw.so.5.9, \
 		/$(CROSS_LIB_DIR)/libpanel.so)
 endif
 endif
-- 
2.16.1


[-- Attachment #3: Type: text/plain, Size: 91 bytes --]

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  parent reply	other threads:[~2018-02-22  8:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-09 14:12 [ptxdist] [PATCH 0/4] Bring ncurses to year 2018 Ladislav Michl
2018-02-09 14:14 ` [ptxdist] [PATCH 1/4] ncurses: version bump 5.9 -> 6.1 Ladislav Michl
2018-02-12 13:22   ` Michael Olbrich
2018-02-12 13:42     ` Ladislav Michl
2018-02-12 14:28       ` Michael Olbrich
2018-02-22  8:12   ` Michael Olbrich [this message]
2018-02-22  8:17     ` Michael Olbrich
2018-02-22  9:53     ` Ladislav Michl
2018-02-22 10:57       ` Michael Olbrich
2018-02-27 13:18         ` Ladislav Michl
2018-02-27 15:58           ` Ladislav Michl
2018-02-28  5:58           ` Michael Olbrich
2018-02-09 14:14 ` [ptxdist] [PATCH 2/4] dialog: version bump 1.1 -> 1.3 Ladislav Michl
2018-02-14  7:49   ` Michael Olbrich
2018-02-09 14:15 ` [ptxdist] [PATCH 3/4] atop: version bump 1.24 -> 2.3.0 Ladislav Michl
2018-02-14  7:50   ` Michael Olbrich
2018-02-09 14:15 ` [ptxdist] [PATCH 4/4] less: check for tgoto Ladislav Michl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180222081220.movvdagejb7pen6e@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ladis@linux-mips.org \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox