1# Do not update this port to 93v. 93v was an abandoned beta when
2# David Korn left the project. It was subsequently reverted to 93u.
3# https://github.com/att/ast/issues/1466#issuecomment-589942449
4
5PORTNAME=	ksh93
6DISTVERSION=	93u
7PORTREVISION=	1
8PORTEPOCH=	2
9CATEGORIES=	shells
10DIST_SUBDIR=	ksh93
11
12MAINTAINER=	ports@MidnightBSD.org
13COMMENT=	AT&T KornShell ksh93u+ 2012-08-01 (stable) version
14WWW=		http://www.kornshell.com/
15
16LICENSE=	epl
17
18USES=		compiler:c11
19
20USE_GITHUB=	yes
21GH_ACCOUNT=	att
22GH_PROJECT=	ast
23
24KSH_CONFLICTS=		pdksh
25KSH93_CONFLICTS=	ksh93-devel ast-ksh
26
27OPTIONS_DEFAULT=	KSH93 EXAMPLES
28OPTIONS_DEFINE=		EXAMPLES STATIC
29OPTIONS_SINGLE=		BIN_KSH
30OPTIONS_SINGLE_BIN_KSH=	KSH KSH93 KSH93L
31KSH_DESC=		Install to ${PREFIX}/bin/ksh
32KSH93_DESC=		Install to ${PREFIX}/bin/ksh93
33KSH93L_DESC=		Install to ${PREFIX}/bin/ksh93l (legacy)
34
35CFLAGS+=	-DMAP_TYPE
36LDFLAGS+=	-lm
37MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses -Wno-int-conversion" CFLAGS="${CFLAGS}"
38
39STATIC_MAKE_ENV=	LDFLAGS+=-static
40
41KSH_PLIST_SUB=		93=""
42KSH93_PLIST_SUB=	93="93"
43KSH93L_PLIST_SUB=	93="93l"
44
45NO_TEST=	yes
46
47.include <bsd.port.pre.mk>
48
49.if ${CHOSEN_COMPILER_TYPE} == gcc && ${COMPILER_VERSION} >= 90
50BROKEN=	GCC 9.1 changes the output of `gcc -E` which breaks the conf.sh script
51.endif
52
53.if ${PORT_OPTIONS:MKSH93L}
54PNAME=		ksh93l
55PSUFFIX=	l
56.elif ${PORT_OPTIONS:MKSH93}
57PNAME=		ksh93
58.else
59PNAME=		ksh
60.endif
61
62post-patch:
63	@${REINPLACE_CMD} -e 's|SF_FLAGS|SFIO_FLAGS|g' ${WRKSRC}/src/lib/libast/include/sfio*.h ${WRKSRC}/src/lib/libast/sfio/*.c
64
65do-build:
66	@cd ${WRKSRC}/ && ${SETENV} -i ${MAKE_ENV} ${SH} bin/package flat make ksh93
67
68do-install:
69	${INSTALL_PROGRAM} ${WRKSRC}/bin/ksh ${PREFIX}/bin/${PNAME}
70	${INSTALL_MAN} ${WRKSRC}/man/man1/sh.1 ${PREFIX}/share/man/man1/${PNAME}.1
71	${MKDIR} ${EXAMPLESDIR}/
72	cd ${WRKSRC}/fun/ && ${INSTALL_SCRIPT} dirs popd pushd ${EXAMPLESDIR}/
73
74.include <bsd.port.post.mk>
75