summaryrefslogtreecommitdiff
path: root/shells/ksh93-devel/Makefile
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2020-02-22 22:38:42 +0000
committerCy Schubert <cy@FreeBSD.org>2020-02-22 22:38:42 +0000
commitf812380a4e1e314cfcbb029ba779d61bf23a5865 (patch)
tree2755806664d52db8925f844c591522fdf1c9c2df /shells/ksh93-devel/Makefile
parentAT&T AST (att/ast) on github has rewound their repo back to ksh93u+. See (diff)
AT&T AST (att/ast) on github has rewound their repo back to ksh93u+. See
https://github.com/att/ast/issues/1464 and https://github.com/att/ast/issues/1466. The reason for the rewind back to 93u+ instead of 93v- was that it was an abandoned unstable buggy unfinished beta. A full explanation of this can be found here, https://github.com/att/ast/issues/1466#issuecomment-589942449. At present ksh93-devel will track att/ast until development shifts to the new ksh-community repo on github.
Notes
Notes: svn path=/head/; revision=526860
Diffstat (limited to 'shells/ksh93-devel/Makefile')
-rw-r--r--shells/ksh93-devel/Makefile60
1 files changed, 44 insertions, 16 deletions
diff --git a/shells/ksh93-devel/Makefile b/shells/ksh93-devel/Makefile
index e82b9ba18990..a62ee1686d79 100644
--- a/shells/ksh93-devel/Makefile
+++ b/shells/ksh93-devel/Makefile
@@ -1,52 +1,80 @@
# $FreeBSD$
+# Make sure that your configuration DOES NOT set ANY gcc-related
+# variables. ksh93 will not compile if you set even the seemingly
+# most unrelated variable related to gcc configuration. This means
+# especially any flag which attempts to set the cputype. Setting the
+# cputype does absolutely nothing except cause systems to fail in
+# horrible ways. For any modern processor, setting the cputype only
+# serves to expose gcc bugs and does nothing to speed up any known
+# program. If you are really unconvinced, go ahead but do not
+# complain to me about it.
+
PORTNAME= ksh93
PORTVERSION= ${AST_COMMIT_DATE}
CATEGORIES= shells
-PKGNAMESUFFIX= -devel
+DIST_SUBDIR= ksh93
MAINTAINER= cy@FreeBSD.org
COMMENT= Development branch of AT&T KornShell 93
LICENSE= EPL
-USES= compiler:c11 meson ninja python:build
+HASH= 0be82553
+AST_COMMIT_DATE= 2020.02.22
+
+BROKEN_aarch64= Fails to compile: needs sbrk
-HASH= 8cf92b28
-AST_COMMIT_DATE= 2020.02.07
+USES= compiler:c11
USE_GITHUB= yes
GH_ACCOUNT= att
GH_PROJECT= ast
GH_TAGNAME= ${HASH}
+# IMPORTANT: Disabling conflicts, i.e. -DDISABLE_CONFLICTS will result in
+# arcane build failures due to already installed ksh/ksh93 in
+# $PATH.
KSH_CONFLICTS= pdksh-*
KSH93_CONFLICTS= ksh93-2* ast-ksh-*
-MESON_BUILD_DIR= build
-
-OPTIONS_DEFAULT= KSH93
+OPTIONS_DEFAULT= KSH93 EXAMPLES
+OPTIONS_DEFINE= EXAMPLES STATIC
OPTIONS_SINGLE= BIN_KSH
OPTIONS_SINGLE_BIN_KSH= KSH KSH93
KSH_DESC= Install to ${PREFIX}/bin/ksh
KSH93_DESC= Install to ${PREFIX}/bin/ksh93
-KSH93_EXTRA_PATCHES= ${FILESDIR}/extra-patch-install-as-ksh93 \
- ${FILESDIR}/extra-patch-install-as-ksh93-doc
+CFLAGS+= -DMAP_TYPE
+LDFLAGS+= -lm
+MAKE_ENV= CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses" CFLAGS="${CFLAGS}"
+
+STATIC_MAKE_ENV= LDFLAGS+=-static
KSH_PLIST_SUB= 93=""
KSH93_PLIST_SUB= 93="93"
.include <bsd.port.options.mk>
-post-patch:
- @${REINPLACE_CMD} -e '/for name in/ s|python.*|${PYTHON_CMD}|g' ${WRKSRC}/scripts/python.sh
- @${REINPLACE_CMD} -e 's|SF_FLAGS|SFIO_FLAGS|g' ${WRKSRC}/src/lib/libast/include/sfio*.h ${WRKSRC}/src/lib/libast/sfio/*.c
.if ${PORT_OPTIONS:MKSH93}
- @${MV} ${WRKSRC}/src/cmd/ksh93/docs/ksh.1 ${WRKSRC}/src/cmd/ksh93/docs/ksh93.1
-.endif
-.if ${PORT_OPTIONS:MKSH}
- @# Keep portlint happy
+PNAME= ksh93
+.else
+PNAME= ksh
.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's|SF_FLAGS|SFIO_FLAGS|g' ${WRKSRC}/src/lib/libast/include/sfio*.h ${WRKSRC}/src/lib/libast/sfio/*.c
+
+do-build:
+ @cd ${WRKSRC}/ && ${SETENV} -i ${MAKE_ENV} ${SH} bin/package flat make ksh93
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/ksh ${STAGEDIR}${PREFIX}/bin/${PNAME}
+ ${INSTALL_MAN} ${WRKSRC}/man/man1/sh.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/${PNAME}.1
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
+ cd ${WRKSRC}/fun/ && ${INSTALL_SCRIPT} dirs popd pushd ${STAGEDIR}${EXAMPLESDIR}/
+
+do-test:
+ cd ${WRKSRC}/src/cmd/ksh93/tests/ && ${SETENV} SHELL=${WRKSRC}/bin/ksh ${WRKSRC}/bin/ksh shtests
+
.include <bsd.port.mk>