It's useful to compile mutt with the ncurses port, to get proper support for wide characters (UTF-8 in particular). The mail/mutt port does this correctly; the mail/mutt-devel port does not. How-To-Repeat: Add this to /etc/make.conf: .if ${.CURDIR:M*/mail/mutt-devel*} WITH_MUTT_NCURSES_PORT=YES .endif Then: cd /usr/ports/mail/mutt-devel make Notice the configure output: checking for waddnwstr in -lncurses... no checking for waddnwstr in -lncursesw... no And 'ldd mutt' shows: libncurses.so.6 => /lib/libncurses.so.6 (0x28102000) Finally, to test, run mutt with LC_ALL=en_US.UTF-8 (or similar), and examine the results. Multi-byte chars won't display correctly, and formatting will be wrong. After the patch (see "Fix" section): checking for waddnwstr in -lncurses... no checking for waddnwstr in -lncursesw... yes And: libncursesw.so => /usr/local/lib/libncursesw.so (0x280f9000) The final proof is that running mutt displays all characters correctly, with no formating problems.
State Changed From-To: open->feedback Awaiting maintainers feedback
On Thu, Jun 22, 2006 at 01:53:04 +0000, Edwin Groothuis wrote: > Maintainer of mail/mutt-devel, > > Please note that PR ports/99285 has just been submitted. Here is my patch (includes some docu about the new knob): diff -ru /usr/ports/mail/mutt-devel/Makefile ./Makefile --- /usr/ports/mail/mutt-devel/Makefile Tue Mar 21 11:06:35 2006 +++ ./Makefile Thu Jun 22 07:47:24 2006 @@ -25,6 +25,9 @@ # environment to get slang function properly. # The default version for slang is 1.x. Define WITH_MUTT_SLANG2 if you want # to use the slang version 2.x +# The default version for ncurses is that which comes with the operating +# system. If you want to use the ncurses supplied by the ports-system define +# WITH_MUTT_NCURSES_PORT. # # If you want to install the mutt documentation in html and ps format define: # WITH_MUTT_HTML @@ -279,7 +282,12 @@ .if defined(NOPORTDOCS) XML_USED= no .endif -.if defined(MUTT_USES_NCURSES) && ${OSVERSION} < 400000 +.if defined(MUTT_USES_NCURSES) +.if ${OSVERSION} < 400000 || defined(WITH_MUTT_NCURSES_PORT) +MUTT_USES_NCURSES_PORT= yes +.endif +.endif +.if defined(MUTT_USES_NCURSES_PORT) LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses CFLAGS+= -I${LOCALBASE}/include/ncurses -I${LOCALBASE}/include .elif defined(MUTT_USES_SLANG1) @@ -348,7 +356,7 @@ .if defined(WITH_MUTT_LOCALES_FIX) CONFIGURE_ARGS+= --enable-locales-fix .endif -.if defined(MUTT_USES_NCURSES) && ${OSVERSION} < 400000 +.if defined(MUTT_USES_NCURSES_PORT) CONFIGURE_ARGS+= --with-curses=${LOCALBASE} .elif defined(MUTT_USES_SLANG) CONFIGURE_ARGS+= --with-slang=${LOCALBASE} This fixes the PR which then can be closed. Best regards -- Udo Schweigert, Siemens AG | Voice : +49 89 636 42170 CT IC CERT, Siemens CERT | Fax : +49 89 636 41166 D-81730 Muenchen / Germany | email : udo.schweigert@siemens.com
Responsible Changed From-To: freebsd-ports-bugs->garga I'll take it.
State Changed From-To: feedback->closed Committed. Thanks!