Tweak shells/nologinmsg version 1.0
[dports.git] / shells / zsh / Makefile
1 # Created by: torstenb
2 # $FreeBSD: shells/zsh/Makefile 339070 2014-01-08 07:28:43Z bapt $
3
4 PORTNAME=       zsh
5 PORTVERSION=    5.0.5
6 CATEGORIES=     shells
7 MASTER_SITES=   SF/${PORTNAME}/${PORTNAME}/${PORTVERSION} \
8                 SF/${PORTNAME}/${PORTNAME}-doc/${PORTVERSION}:doc
9 DISTFILES=      ${DISTNAME}${EXTRACT_SUFX}
10
11 MAINTAINER=     bapt@FreeBSD.org
12 COMMENT=        The Z shell
13
14 LICENSE=        ZSH
15 LICENSE_NAME=   ZSH license
16 LICENSE_FILE=   ${WRKSRC}/LICENCE
17 LICENSE_PERMS=  dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
18
19 MAKE_JOBS_UNSAFE=       yes
20
21 ZSH_VER=        ${PORTVERSION}
22
23 USE_BZIP2=      yes
24 USES=           iconv ncurses
25 GNU_CONFIGURE=  yes
26
27 CPPFLAGS+=      -I${LOCALBASE}/include
28 LDFLAGS+=       -L${LOCALBASE}/lib
29 CONFIGURE_ARGS= --with-term-lib="ncursesw ncurses" --with-tcsetpgrp \
30                 --enable-function-subdirs
31
32 EXTRA_PATCHES=  ${FILESDIR}/extra-patch-bsdtar
33 #EXTRA_COMPLETION_FILES=        _sockstat
34 #EXTRA_COMPLETION_DIR=  Completion/BSD/Command
35
36 OPTIONS_DEFINE= GDBM MEM SECURE_FREE MAILDIR MULTIBYTE PCRE STATIC DOCS DEBUG \
37                 EXAMPLES
38 OPTIONS_DEFAULT=        SECURE_FREE MAILDIR MULTIBYTE
39
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)
44
45 PLIST_SUB+=     ZSH_VER="${ZSH_VER}"
46
47 DOCS=           LICENCE META-FAQ README Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ \
48                 Etc/completion-style-guide Doc/zsh*.html Doc/zsh.dvi
49 PORTDOCS=       *
50 PORTEXAMPLES=   zlogin zshenv zshrc
51
52 OPTIONS_SUB=    yes
53
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
67
68 .include <bsd.port.options.mk>
69
70 .if ${PORT_OPTIONS:MSTATIC}
71 PLIST_SUB+=             SHARED="@comment "
72 .else
73 PLIST_SUB+=             SHARED=""
74 .endif
75
76 .if ${PORT_OPTIONS:MDOCS}
77 INFO=   zsh
78 .endif
79
80 post-patch:
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" ; \
91                 exit 1 ; \
92         else \
93                 ${ECHO} ${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
94                 ${CP} ${FILESDIR}/${COMPFILE} \
95                         ${WRKSRC}/${EXTRA_COMPLETION_DIR}/${COMPFILE} ; \
96         fi)
97 .endfor
98 .endif
99         @${FIND} ${WRKSRC}/Completion -type f -iname '*.orig' -delete
100
101 post-build:
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
111 .endif
112
113 post-install:
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}
118 .endif
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
123 .endif
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 ; \
129                 done'
130
131 regression-test:
132         @cd ${WRKSRC}; ${SETENV} -i ${MAKE} check
133
134
135
136 .include <bsd.port.mk>