From owner-svn-ports-all@freebsd.org Sat Nov 19 23:17:36 2016 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F50DC4B623; Sat, 19 Nov 2016 23:17:36 +0000 (UTC) (envelope-from marino@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1FE5D1FF8; Sat, 19 Nov 2016 23:17:36 +0000 (UTC) (envelope-from marino@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uAJNHZcb030094; Sat, 19 Nov 2016 23:17:35 GMT (envelope-from marino@FreeBSD.org) Received: (from marino@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uAJNHZV4030093; Sat, 19 Nov 2016 23:17:35 GMT (envelope-from marino@FreeBSD.org) Message-Id: <201611192317.uAJNHZV4030093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marino set sender to marino@FreeBSD.org using -f From: John Marino Date: Sat, 19 Nov 2016 23:17:35 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r426544 - head/editors/the X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Nov 2016 23:17:36 -0000 Author: marino Date: Sat Nov 19 23:17:35 2016 New Revision: 426544 URL: https://svnweb.freebsd.org/changeset/ports/426544 Log: editors/the: overhaul, resolved many existing issues When this port was resurrected, none of the non-default options had a prayer of working. Requirements were spelled incorrectly and mis-specified. First, overhaul the makefile to use modern options helpers. Then create a Rexx group of options. Rexx must be used, but the original intent is that it builds with Rexx/Regina by default, but optionally with Rexx/imc. Now that this is cleaned it, it was discovered that Rexx/imc can't build the, so leave the option but mark it broken. Similarly, it builds with ncurses by default. This wasn't configured properly, but now it's been fixed. A new option group called display allows the to be built with XCurses. This was also mis-specified and could never build anyway. Using a sed command to remove 2 (minor?) unsupported lines, the xcurses option now builds and links to the successfully. Finally the xaw3d, also mispecified, doesn't dynamically link to the. The specification was fixed and changed to the static library. The xawed is a valid configure option but it's not clear if the static library is actually used or not. It's off by default, as before. This port did not receive adequate scrutiny when it was brought back into the tree. Most of the issues listed here would have been caught with even a cursory check. Approved by: just-fix-it and ncurses blanket Modified: head/editors/the/Makefile Modified: head/editors/the/Makefile ============================================================================== --- head/editors/the/Makefile Sat Nov 19 23:02:03 2016 (r426543) +++ head/editors/the/Makefile Sat Nov 19 23:17:35 2016 (r426544) @@ -3,7 +3,7 @@ PORTNAME= the PORTVERSION= 3.3.r4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= editors MASTER_SITES= http://downloads.sourceforge.net/hessling-editor/ DISTNAME= THE-${PORTVERSION:S/.r/RC/} @@ -15,49 +15,54 @@ LICENSE= GPLv2 BROKEN_powerpc= fails to configure -USES= ncurses GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-ncurses \ - --with-rexxincdir=${LOCALBASE}/include \ +CONFIGURE_ARGS= --with-rexxincdir=${LOCALBASE}/include \ --with-rexxlibdir=${LOCALBASE}/lib ALL_TARGET= all html +CPPFLAGS+= -I${LOCALBASE}/include -OPTIONS_DEFINE= XAW3D XCURSES REXX_IMC -XAW3D_DESC= Enable Xaw3D -XCURSES_DESC= Build XCurses (X11) version -REXX_REGINA_DESC= Enable Rexx interpreter - -.include - -.if ${PORT_OPTIONS:MXAW3D} -CONFIGURE_ARGS+=--with-xaw3d -LIB_DEPENDS+= libxaw3d.so:x11-toolkits/Xaw3d -.endif - -.if ${PORT_OPTIONS:MXCURSES} -CONFIGURE_ARGS+=--with-xcurses \ - --with-cursesincdir=${LOCALBASE}/include \ - --with-curseslibdir=${LOCALBASE}/lib -BUILD_DEPENDS+= pdcurses:devel/pdcurses -LIB_DEPENDS+= libxcurses.so:devel/pdcurses -PLIST_SUB= XCURSES="" NCURSES="@comment " -.else -PLIST_SUB= XCURSES="@comment " NCURSES="" -.endif - -.if ${PORT_OPTIONS:MREXX_IMC} -BUILD_DEPENDS+= rexx:lang/rexx-imc -RUN_DEPENDS+= rexx:lang/rexx-imc -CONFIGURE_ARGS+= --with-rexx=rexximc -.else -BUILD_DEPENDS+= regina:lang/rexx-regina -RUN_DEPENDS+= regina:lang/rexx-regina -CONFIGURE_ARGS+= --with-rexx=regina -.endif +OPTIONS_DEFINE= XAW3D +OPTIONS_SINGLE= Display Rexx +OPTIONS_SINGLE_Display= NCURSES XCURSES +OPTIONS_SINGLE_Rexx= REXX_IMC REGINA +OPTIONS_DEFAULT= NCURSES REGINA +OPTIONS_SUB= yes + +XAW3D_DESC= Enable Xaw3D +NCURSES_DESC= Build standard NCurses version +XCURSES_DESC= Build XCurses (X11) version +REXX_IMC_DESC= Use Rexx/imc interpreter +REGINA_DESC= Use Regina Rexx interpreter + +XAW3D_CONFIGURE_WITH= xaw3d +XAW3D_BUILD_DEPENDS= ${LOCALBASE}/lib/libXaw3d.a:x11-toolkits/Xaw3d + +NCURSES_USES= ncurses +NCURSES_CONFIGURE_ON= --with-ncurses \ + --with-cursesincdir=${NCURSESINC} \ + --with-curseslibdir=${NCURSESLIB} + +XCURSES_LIB_DEPENDS= libXCurses.so:devel/pdcurses +XCURSES_CONFIGURE_ON= --with-xcurses \ + --with-cursesincdir=${LOCALBASE}/include \ + --with-curseslibdir=${LOCALBASE}/lib +XCURSES_CFLAGS= -I${LOCALBASE}/include \ + -I${LOCALBASE}/include/xcurses + +REXX_IMC_CONFIGURE_ON= --with-rexx=rexximc +REXX_IMC_BUILD_DEPENDS= rexx:lang/rexx-imc +REXX_IMC_RUN_DEPENDS= rexx:lang/rexx-imc +REXX_IMC_BROKEN= fails to build with REXX_IMC option + +REGINA_CONFIGURE_ON= --with-rexx=regina +REGINA_BUILD_DEPENDS= regina:lang/rexx-regina +REGINA_RUN_DEPENDS= regina:lang/rexx-regina post-extract: ${REINPLACE_CMD} -e 's|(datadir)/THE|(datadir)/the|g' \ - -e 's|/share/THE|/share/the|g' ${WRKSRC}/Makefile.in + -e 's|/share/THE|/share/the|g' ${WRKSRC}/Makefile.in + ${REINPLACE_CMD} -e 's|ltermcap|lncurses|g' ${WRKSRC}/configure + ${REINPLACE_CMD} -e '/FUNCTION_KEY/d' ${WRKSRC}/the.c pre-install: ${MKDIR} ${STAGEDIR}${DOCSDIR} @@ -65,13 +70,12 @@ pre-install: ${INSTALL_DATA} ${WRKSRC}/the64.gif ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/the64.png ${STAGEDIR}${DOCSDIR} -post-install: -.if ${PORT_OPTIONS:MXCURSES} +do-install-XCURSES-on: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xthe ${LN} -sf xthe ${STAGEDIR}${PREFIX}/bin/the -.else + +do-install-NCURSES-on: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/nthe ${LN} -sf nthe ${STAGEDIR}${PREFIX}/bin/the -.endif -.include +.include