blob: d892a86a10c3e6da908742fa5c3ec29e60330af9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# $NetBSD: Makefile.common,v 1.34 2016/03/22 19:31:15 richard Exp $
#
# used by shells/ast-ksh/Makefile
# used by shells/static-ast-ksh/Makefile
DISTNAME= ast-ksh-${ASTKSH_VERSION}
PKGNAME= ast-ksh-${ASTKSH_VERSION:S/-//g}
CATEGORIES= shells
# originally at http://www2.research.att.com/~gsf/download/tgz/
# but it requires authentication
MASTER_SITES= ${MASTER_SITE_LOCAL}
DISTFILES= INIT.${ASTKSH_VERSION}.tgz ast-ksh.${ASTKSH_VERSION}.tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.kornshell.com/
COMMENT= Official AT&T release of KornShell 93
LICENSE= epl-v1.0
NOT_FOR_PLATFORM= Interix-*-* # taking nearly a day to build and crash!
CONFLICTS= static-ast-ksh-[0-9]*
KSH93_MAKEFLAGS=
ASTKSH_VERSION= 2012-08-01
WRKSRC= ${WRKDIR}
MAKE_FLAGS+= CC=${CC:Q} CCFLAGS=${CFLAGS:M*:Q}
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
PDKSH= /bin/ksh
.endif
# Link with libm to fix sfcvt link error -
# this is kind of a hack -
# better would be to fix the 'meta makefile' to pass this
# or to use the ksh-provided math routines.
.if ${OPSYS} == "DragonFly"
KSH93_MAKEFLAGS+= CCFLAGS=-lm
.endif
.if ${OPSYS} == "SunOS"
# need c99 and _XPG6 in order to avoid patching libast/features/standards
# __EXTENSIONS__ is needed in case of __STDC__ == 1 (i.e. -std=c99 not gnu99)
# for things like mamake, ratz and some others for now.
USE_LANGUAGES+= c99
KSH93_MAKEFLAGS+= LDFLAGS=-lm CCFLAGS="-D_XPG6 -D__EXTENSIONS__"
.endif
PKG_SHELL= bin/ksh93
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
# ${KSH93_MAKEFLAGS} is set as "LDFLAGS=-static" only when built as a
# static binary.
#
# XXX Note that 'make' here is not an executable command name, but a target
# name which the ./bin/package script uses.
do-build:
@cd ${WRKSRC:Q} && \
${SETENV} SHELL=${PDKSH:Q} \
${PDKSH:Q} ./bin/package make ${KSH93_MAKEFLAGS}
do-install:
@set -e; \
arch=`${WRKSRC}/bin/package host`; \
${INSTALL_PROGRAM} ${WRKSRC}/arch/"$${arch}"/bin/ksh \
${DESTDIR}${PREFIX}/bin/ksh93; \
${INSTALL_MAN} ${WRKSRC}/arch/"$${arch}"/man/man1/sh.1 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ksh93.1
# Part of regression test
do-test:
@set -e; \
arch=`${WRKSRC}/bin/package host`; \
cd ${WRKSRC:Q}/src/cmd/ksh93/tests && \
${SETENV} SHELL=${WRKSRC}/arch/"$${arch}"/bin/ksh \
${WRKSRC}/arch/"$${arch}"/bin/ksh shtests
# XXX Their 'test' target needs nmake (Korn's another tool)
# @cd ${WRKSRC}; \
# ${SETENV} SHELL=${PDKSH} ${PDKSH} ./bin/package test
|