Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Nov 2016 23:17:35 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r426544 - head/editors/the
Message-ID:  <201611192317.uAJNHZV4030093@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.pre.mk>
-
-.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 <bsd.port.post.mk>
+.include <bsd.port.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611192317.uAJNHZV4030093>