2 # $FreeBSD: shells/zsh/Makefile 339070 2014-01-08 07:28:43Z bapt $
7 MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION} \
8 SF/${PORTNAME}/${PORTNAME}-doc/${PORTVERSION}:doc
9 DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
11 MAINTAINER= bapt@FreeBSD.org
15 LICENSE_NAME= ZSH license
16 LICENSE_FILE= ${WRKSRC}/LICENCE
17 LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
21 ZSH_VER= ${PORTVERSION}
27 CPPFLAGS+= -I${LOCALBASE}/include
28 LDFLAGS+= -L${LOCALBASE}/lib
29 CONFIGURE_ARGS= --with-term-lib="ncursesw ncurses" --with-tcsetpgrp \
30 --enable-function-subdirs
32 EXTRA_PATCHES= ${FILESDIR}/extra-patch-bsdtar
33 #EXTRA_COMPLETION_FILES= _sockstat
34 #EXTRA_COMPLETION_DIR= Completion/BSD/Command
36 OPTIONS_DEFINE= GDBM MEM SECURE_FREE MAILDIR MULTIBYTE PCRE STATIC DOCS DEBUG \
38 OPTIONS_DEFAULT= SECURE_FREE MAILDIR MULTIBYTE
40 GDBM_DESC= Enable GDBM support (GPL)
41 MEM_DESC= Enable zsh-mem options
42 SECURE_FREE_DESC= Enable zsh-secure-free
43 MAILDIR_DESC= Enable support for Maildirs in MAIL(PATH)
45 PLIST_SUB+= ZSH_VER="${ZSH_VER}"
47 DOCS= LICENCE META-FAQ README Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ \
48 Etc/completion-style-guide Doc/zsh*.html Doc/zsh.dvi
50 PORTEXAMPLES= zlogin zshenv zshrc
54 DOCS_DISTFILES= ${DISTNAME}-doc${EXTRACT_SUFX}:doc
55 GDBM_LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm
56 GDBM_CONFIGURE_ENABLE= gdbm
57 PCRE_LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre
58 PCRE_CONFIGURE_ENABLE= pcre
59 MEM_CONFIGURE_ENABLE= zsh-mem
60 SECURE_FREE_CONFIGURE_ENABLE= zsh-secure-free
61 MAILDIR_CONFIGURE_ENABLE= maildir-support
62 STATIC_LDFLAGS= -static
63 STATIC_CONFIGURE_ON= --disable-dynamic
64 STATIC_CONFIGURE_OFF= --enable-dynamic
65 DEBUG_CONFIGURE_ENABLE= zsh-debug
66 MULTIBYTE_CONFIGURE_ENABLE= multibyte
68 .include <bsd.port.options.mk>
70 .if ${PORT_OPTIONS:MSTATIC}
71 PLIST_SUB+= SHARED="@comment "
76 .if ${PORT_OPTIONS:MDOCS}
81 @${REINPLACE_CMD} -e '/LIBS/s/-lrt//' ${WRKSRC}/configure
82 @${SED} -i "" -e "s,link=dynamic,link=either," \
83 ${WRKSRC}/Src/Modules/*.mdd
84 @${SED} -i "" -e "s,/etc/,${LOCALBASE}/etc/," \
85 ${WRKSRC}/Functions/MIME/zsh-mime-setup
86 .ifdef EXTRA_COMPLETION_FILES
87 @${ECHO} "===> Installing extra completion files"
88 .for COMPFILE in ${EXTRA_COMPLETION_FILES}
89 @(if [ -f ${WRKSRC}/${EXTRA_COMPLETION_DIR}/${COMPFILE} ] ; then \
90 ${ECHO} "${EXTRA_COMPLETION_DIR}/${COMPFILE} already exists" ; \
93 ${ECHO} ${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
94 ${CP} ${FILESDIR}/${COMPFILE} \
95 ${WRKSRC}/${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
99 @${FIND} ${WRKSRC}/Completion -type f -iname '*.orig' -delete
102 # Fix ".so" macro problem by using "soelim" command.
103 ${LN} -sf ${WRKSRC}/Doc ${WRKSRC}/man1
104 ${MV} ${WRKSRC}/Doc/zshall.1 ${WRKSRC}/Doc/zshall.1.source
105 cd ${WRKSRC} && /usr/bin/soelim ${WRKSRC}/Doc/zshall.1.source > \
106 ${WRKSRC}/Doc/zshall.1
107 .if ${PORT_OPTIONS:MDOCS}
108 @${MKDIR} ${PREFIX}/info
109 makeinfo --no-split --output=${WRKSRC}/Doc/zsh.info \
110 ${WRKSRC}/Doc/zsh.texi
114 ${LN} -f ${STAGEDIR}${PREFIX}/bin/zsh ${STAGEDIR}${PREFIX}/bin/rzsh
115 .if ${PORT_OPTIONS:MEXAMPLES}
116 @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
117 cd ${WRKSRC}/StartupFiles && ${INSTALL_DATA} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}
119 .if ${PORT_OPTIONS:MDOCS}
120 @${MKDIR} ${STAGEDIR}${DOCSDIR}
121 cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
122 ${INSTALL_DATA} ${WRKSRC}/Doc/zsh.info ${STAGEDIR}${PREFIX}/info/zsh.info
124 ${STAGEDIR}${PREFIX}/bin/zsh -fc ' \
125 setopt extendedglob nomark_dirs; \
126 for i in ${STAGEDIR}${DATADIR}/${ZSH_VER}/functions/**/*(/) ; do \
127 zcompile -U -M $$i.zwc $$i/*~*.zwc(^/) ; \
128 ${CHMOD} 644 $$i.zwc ; \
132 @cd ${WRKSRC}; ${SETENV} -i ${MAKE} check
136 .include <bsd.port.mk>