blob: 813122ef2427060b859c7a4b10287d27230ab726 (
plain) (
blame)
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# Created by: torstenb
# $FreeBSD$
PORTNAME= zsh
PORTVERSION= 5.0.5
PORTREVISION= 1
CATEGORIES= shells
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION} \
SF/${PORTNAME}/${PORTNAME}-doc/${PORTVERSION}:doc
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= bapt@FreeBSD.org
COMMENT= The Z shell
LICENSE= ZSH
LICENSE_NAME= ZSH license
LICENSE_FILE= ${WRKSRC}/LICENCE
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
MAKE_JOBS_UNSAFE= yes
ZSH_VER= ${PORTVERSION}
USES= iconv ncurses tar:bzip2
GNU_CONFIGURE= yes
CPPFLAGS+= -I${LOCALBASE}/include -DBOOL_DEFINED
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ENV+= zsh_cv_sys_path_dev_fd=no
CONFIGURE_ARGS= --with-term-lib="ncursesw ncurses" --with-tcsetpgrp \
--enable-function-subdirs
EXTRA_PATCHES= ${FILESDIR}/extra-patch-bsdtar
#EXTRA_COMPLETION_FILES= _sockstat
#EXTRA_COMPLETION_DIR= Completion/BSD/Command
OPTIONS_DEFINE= GDBM MEM SECURE_FREE MAILDIR MULTIBYTE PCRE STATIC DOCS DEBUG \
EXAMPLES
OPTIONS_DEFAULT= SECURE_FREE MAILDIR MULTIBYTE
GDBM_DESC= Enable GDBM support (GPL)
MEM_DESC= Enable zsh-mem options
SECURE_FREE_DESC= Enable zsh-secure-free
MAILDIR_DESC= Enable support for Maildirs in MAIL(PATH)
PLIST_SUB+= ZSH_VER="${ZSH_VER}"
DOCS= LICENCE META-FAQ README Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ \
Etc/completion-style-guide Doc/zsh*.html Doc/zsh.dvi
PORTDOCS= *
PORTEXAMPLES= zlogin zshenv zshrc
OPTIONS_SUB= yes
DOCS_DISTFILES= ${DISTNAME}-doc${EXTRACT_SUFX}:doc
GDBM_LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm
GDBM_CONFIGURE_ENABLE= gdbm
PCRE_LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre
PCRE_CONFIGURE_ENABLE= pcre
MEM_CONFIGURE_ENABLE= zsh-mem
SECURE_FREE_CONFIGURE_ENABLE= zsh-secure-free
MAILDIR_CONFIGURE_ENABLE= maildir-support
STATIC_LDFLAGS= -static
STATIC_CONFIGURE_ON= --disable-dynamic
STATIC_CONFIGURE_OFF= --enable-dynamic
DEBUG_CONFIGURE_ENABLE= zsh-debug
MULTIBYTE_CONFIGURE_ENABLE= multibyte
DOCS_USES= makeinfo
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB)
CONFIGURE_ENV+= ac_cv_lib_iconv_libiconv=no
.endif
.if ${PORT_OPTIONS:MDOCS}
INFO= zsh
.endif
post-patch:
@${REINPLACE_CMD} -e '/LIBS/s/-lrt//' ${WRKSRC}/configure
@${SED} -i "" -e "s,link=dynamic,link=either," \
${WRKSRC}/Src/Modules/*.mdd
@${SED} -i "" -e "s,/etc/,${LOCALBASE}/etc/," \
${WRKSRC}/Functions/MIME/zsh-mime-setup
.ifdef EXTRA_COMPLETION_FILES
@${ECHO} "===> Installing extra completion files"
.for COMPFILE in ${EXTRA_COMPLETION_FILES}
@(if [ -f ${WRKSRC}/${EXTRA_COMPLETION_DIR}/${COMPFILE} ] ; then \
${ECHO} "${EXTRA_COMPLETION_DIR}/${COMPFILE} already exists" ; \
exit 1 ; \
else \
${ECHO} ${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
${CP} ${FILESDIR}/${COMPFILE} \
${WRKSRC}/${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
fi)
.endfor
.endif
@${FIND} ${WRKSRC}/Completion -type f -iname '*.orig' -delete
post-build:
# Fix ".so" macro problem by using "soelim" command.
${LN} -sf ${WRKSRC}/Doc ${WRKSRC}/man1
${MV} ${WRKSRC}/Doc/zshall.1 ${WRKSRC}/Doc/zshall.1.source
cd ${WRKSRC} && /usr/bin/soelim ${WRKSRC}/Doc/zshall.1.source > \
${WRKSRC}/Doc/zshall.1
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${PREFIX}/info
makeinfo --no-split --output=${WRKSRC}/Doc/zsh.info \
${WRKSRC}/Doc/zsh.texi
.endif
post-install:
${LN} -f ${STAGEDIR}${PREFIX}/bin/zsh ${STAGEDIR}${PREFIX}/bin/rzsh
.if ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/StartupFiles && ${INSTALL_DATA} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}
.endif
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/Doc/zsh.info ${STAGEDIR}${PREFIX}/info/zsh.info
.endif
${STAGEDIR}${PREFIX}/bin/zsh -fc ' \
setopt extendedglob nomark_dirs; \
cd ${STAGEDIR}/${DATADIR}/${ZSH_VER} ; \
for i in functions/**/*(/) ; do \
zcompile -U -M $$i.zwc $$i/*~*.zwc(^/) ; \
${CHMOD} 644 $$i.zwc ; \
done'
regression-test:
@cd ${WRKSRC}; ${SETENV} -i ${MAKE} check
.include <bsd.port.post.mk>
|