blob: f0c8517d360e3424e5b182d15ee50f1ed06ce7ca (
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# Created by: torstenb
# $FreeBSD$
PORTNAME= zsh
DISTVERSION= 5.2
PORTREVISION= 2
CATEGORIES= shells
MASTER_SITES= http://www.zsh.org/pub/:doc \
http://www.zsh.org/pub/ \
SF \
SF/${PORTNAME}/${PORTNAME}-doc/${PORTVERSION}:doc
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= adamw@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
EXTRA_PATCHES= ${FILESDIR}/extra-patch-bsdtar
ZSH_VER= ${PORTVERSION}
PLIST_SUB+= ZSH_VER="${ZSH_VER}"
SUB_FILES= pkg-message
USES= iconv ncurses shebangfix tar:xz
SHEBANG_LANG= zsh
zsh_OLD_CMD= /bin/zsh
zsh_CMD= ${PREFIX}/bin/zsh
SHEBANG_FILES= Functions/Calendar/calendar_add \
Functions/Misc/checkmail \
Functions/Misc/run-help \
Functions/Misc/sticky-note \
Functions/Misc/zcalc \
Functions/Misc/zed \
Functions/Misc/zkbd
GNU_CONFIGURE= yes
TEST_TARGET= test
CPPFLAGS+= -I${LOCALBASE}/include -DBOOL_DEFINED
LDFLAGS+= -L${LOCALBASE}/lib -Wl,--as-needed
CONFIGURE_ENV+= zsh_cv_sys_path_dev_fd=no
CONFIGURE_ARGS= --with-tcsetpgrp \
--enable-function-subdirs \
--enable-multibyte \
--sysconfdir=${PREFIX}/etc
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
## Vendor completions to be added into the port (none used now)
#EXTRA_COMPLETION_FILES= _sockstat
#EXTRA_COMPLETION_DIR= Completion/BSD/Command
OPTIONS_DEFINE= DEBUG ETCDIR GDBM MAILDIR MEM PCRE SECURE_FREE STATIC \
DOCS EXAMPLES
OPTIONS_DEFAULT=SECURE_FREE MAILDIR
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ENABLE= zsh-debug
DOCS_DISTFILES= ${DISTNAME}-doc${EXTRACT_SUFX}:doc
GDBM_DESC= Enable GDBM support (GPL)
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
GDBM_CONFIGURE_ENABLE= gdbm
ETCDIR_DESC= System-wide defaults in /etc (instead of $${PREFIX}/etc)
ETCDIR_CONFIGURE_OFF= --enable-etcdir=${PREFIX}/etc
MAILDIR_DESC= Enable support for Maildirs in MAIL(PATH)
MAILDIR_CONFIGURE_ENABLE= maildir-support
MEM_DESC= Enable zsh-mem options
MEM_CONFIGURE_ENABLE= zsh-mem
SECURE_FREE_DESC= Enable zsh-secure-free
SECURE_FREE_CONFIGURE_ENABLE= zsh-secure-free
PCRE_LIB_DEPENDS= libpcre.so:devel/pcre
PCRE_CONFIGURE_ENABLE= pcre
## Some modules can only be built dynamically (such as the regex module).
## If you enable STATIC, you may get strange errors if scripts/plugins
## try to use the regex module.
STATIC_LDFLAGS= -static
STATIC_CONFIGURE_ON= --disable-dynamic --with-term-lib="tinfow tinfo"
STATIC_CONFIGURE_OFF= --enable-dynamic --with-term-lib="ncursesw ncurses"
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB)
CONFIGURE_ENV+= ac_cv_lib_iconv_libiconv=no
.endif
post-patch:
@${REINPLACE_CMD} -i '' -e '1s|zsh|${zsh_CMD}|' ${WRKSRC}/Functions/Misc/run-help-ip
@${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
# Adding vendor completions into the package
.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} && ${SOELIM} -r ${WRKSRC}/Doc/zshall.1.source > \
${WRKSRC}/Doc/zshall.1)
post-install:
${LN} -f ${STAGEDIR}${PREFIX}/bin/zsh ${STAGEDIR}${PREFIX}/bin/rzsh
# Precompile completions and functions
(${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')
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/StartupFiles && ${INSTALL_DATA} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR})
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR})
.include <bsd.port.post.mk>
|