aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2016-11-20 07:17:35 +0800
committermarino <marino@FreeBSD.org>2016-11-20 07:17:35 +0800
commitfb5c001c5df492216b0ebd761fced0546092be66 (patch)
treeb418c6c7a5887c4b049a25a3768a41722bdf1a18 /editors
parentf9b31a3b2bc3329bea8d39763cbfb6a110420d62 (diff)
downloadfreebsd-ports-gnome-fb5c001c5df492216b0ebd761fced0546092be66.tar.gz
freebsd-ports-gnome-fb5c001c5df492216b0ebd761fced0546092be66.tar.zst
freebsd-ports-gnome-fb5c001c5df492216b0ebd761fced0546092be66.zip
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
Diffstat (limited to 'editors')
-rw-r--r--editors/the/Makefile88
1 files changed, 46 insertions, 42 deletions
diff --git a/editors/the/Makefile b/editors/the/Makefile
index 2f0969e06d27..e1f453ba2c9c 100644
--- a/editors/the/Makefile
+++ b/editors/the/Makefile
@@ -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>