git: 821aa63a0940 - main - ncurses: only keep the version with widechar support

Baptiste Daroussin bapt at FreeBSD.org
Thu Jan 7 08:43:57 UTC 2021


On Thu, Jan 07, 2021 at 08:28:45AM +0100, Gordon Bergling wrote:
> On Wed, Jan 06, 2021 at 04:29:32PM +0100, Gordon Bergling wrote:
> > On Tue, Jan 05, 2021 at 01:02:04PM +0000, Baptiste Daroussin wrote:
> > > The branch main has been updated by bapt:
> > > 
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=821aa63a09402935da0a73abf20ba0441562aa07
> > > 
> > > commit 821aa63a09402935da0a73abf20ba0441562aa07
> > > Author:     Baptiste Daroussin <bapt at FreeBSD.org>
> > > AuthorDate: 2021-01-04 16:29:40 +0000
> > > Commit:     Baptiste Daroussin <bapt at FreeBSD.org>
> > > CommitDate: 2021-01-05 13:01:32 +0000
> > > 
> > >     ncurses: only keep the version with widechar support
> > >     
> > >     Only keep the widechar version of ncurses as libncursesw.so.9
> > >     
> > >     Keep the old name to avoid breaking the ABI compatibility (the non
> > >     widechar version libncurses.so.9 is not binary compatible with
> > >     libncursesw.so.9) since all ports and base are already only linking
> > >     against the widechar version we can simply remove libncurses.so.9
> > >     
> > >     Since the .9 version only lived in the dev branch and never ended in a
> > >     release, it is simply removed and not added to any binary compat
> > >     package.
> > >     
> > >     Add symlinks to keep build time compatibility for anyone linking against
> > >     -lncurses
> > > ---
> > >  Makefile.inc1                         |  5 +--
> > >  Makefile.libcompat                    |  4 +-
> > >  ObsoleteFiles.inc                     |  2 +
> > >  lib/ncurses/Makefile                  |  6 +--
> > >  lib/ncurses/config.mk                 | 11 +-----
> > >  lib/ncurses/form/Makefile             | 18 ++++++---
> > >  lib/ncurses/formw/Makefile            |  5 ---
> > >  lib/ncurses/formw/Makefile.depend     | 17 ---------
> > >  lib/ncurses/menu/Makefile             | 18 ++++++---
> > >  lib/ncurses/menuw/Makefile            |  5 ---
> > >  lib/ncurses/menuw/Makefile.depend     | 17 ---------
> > >  lib/ncurses/ncurses/Makefile          | 71 +++++++++++++++--------------------
> > >  lib/ncurses/ncursesw/Makefile         |  7 ----
> > >  lib/ncurses/ncursesw/Makefile.depend  | 16 --------
> > >  lib/ncurses/panel/Makefile            | 23 ++++++++----
> > >  lib/ncurses/panelw/Makefile           |  5 ---
> > >  lib/ncurses/panelw/Makefile.depend    | 17 ---------
> > >  share/mk/src.libnames.mk              | 16 ++------
> > >  tools/bsdbox/Makefile.base            |  2 +-
> > >  tools/tools/ath/athratestats/Makefile |  2 +-
> > >  20 files changed, 87 insertions(+), 180 deletions(-)
> > [...]
> > 
> > This also breaks the build on arm64. I had NO_CLEAN=yes applied, but this error
> > is generated after a 'make clean cleandepend'. The src.conf is the following,
> > 
> > WITH_MALLOC_PRODUCTION=1
> > WITH_EXTRA_TCP_STACKS=1
> > WITH_BEARSSL=1
> > WITH_PIE=1
> > WITH_RETPOLINE=1
> > 
> > Is there anything else I can do?
> > 
> > -------------------------------------------------------------------------------
> > ===> cddl/lib/libnvpair (obj,all,install)
> > In file included from /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:37:
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2062:40: error: a parameter list without types is only allowed
> > in a function definition
> > extern NCURSES_EXPORT(int) _nc_to_char(wint_t);
> >                                        ^
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2063:23: error: unknown type name 'wint_t'
> > extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int);
> >                       ^
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2322:61: error: unknown type name 'mbstate_t'; did you mean '__
> > mbstate_t'?
> > extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *);
> >                                                             ^~~~~~~~~
> >                                                             __mbstate_t
> > /tank/nfs_public/tiny/obj/tank/nfs_public/tiny/src/arm64.aarch64/tmp/usr/include/sys/_types.h:124:3: note: '__mbstate_t' declar
> > ed here
> > } __mbstate_t;
> >   ^
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:46:34: error: excess elements in struct initializer [-
> > Werror,-Wexcess-initializers]
> > static const cchar_t blankchar = NewChar(BLANK_TEXT);
> >                                  ^~~~~~~~~~~~~~~~~~~
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1537:21: note: expanded from macro 'NewChar'
> > #define NewChar(ch)     NewChar2(ChCharOf(ch), ChAttrOf(ch))
> >                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1536:43: note: expanded from macro 'NewChar2'
> > #define NewChar2(c,a)   { a, { c, NulChar } NulColor }
> >                                             ^~~~~~~~
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1523:20: note: expanded from macro 'NulColor'
> > #define NulColor        , 0
> >                           ^
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:66:16: error: no member named 'ext_color' in 'cchar_t'
> >     int pair = GetPair(ch);
> >                ^~~~~~~~~~~
> > /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:479:42: note: expanded from macro 'GetPair'
> > #define GetPair(value)          GetPair2((value).ext_color, AttrOf(value))
> >                                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
> > -------------------------------------------------------------------------------
> 
> If someone is facing the same problem, this could fixed by deleting the whole content of the obj-directory.
> 
> --Gordon
Yes I was about to reply, I still don't get what file is left over that results
into this issue so I can add it to the make clean hackery we have :(

Best regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/dev-commits-src-all/attachments/20210107/661edaf8/attachment.sig>


More information about the dev-commits-src-all mailing list