pkgsrc/shells/zsh/Makefile.common

153 lines
4.2 KiB
Text
Raw Normal View History

# $NetBSD: Makefile.common,v 1.64 2011/09/22 09:37:06 ryoon Exp $
2011-07-30 13:42:42 +02:00
# used by shells/zsh/Makefile
# used by shells/zsh-current/Makefile
2003-06-29 06:24:56 +02:00
DISTNAME= zsh-${ZSH_VERSION}
2003-06-29 06:24:56 +02:00
CATEGORIES= shells
2008-07-03 11:07:26 +02:00
MASTER_SITES= ftp://mirrors.dotsrc.org/zsh/ \
2003-06-29 06:24:56 +02:00
ftp://ftp.fu-berlin.de/pub/unix/shells/zsh/ \
http://www.math.technion.ac.il/pub/zsh/ \
ftp://ftp.zsh.org/zsh/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= ${ZSH_MAINTAINER}
HOMEPAGE= http://zsh.sourceforge.net/
2003-06-29 06:24:56 +02:00
COMMENT= The Z shell
PKG_DESTDIR_SUPPORT= user-destdir
GNU_CONFIGURE= yes
2003-06-30 15:46:04 +02:00
CONFIGURE_ARGS+= --enable-etcdir=${PKG_SYSCONFDIR:Q}
USE_TOOLS+= makeinfo
INFO_FILES= # PLIST
TEXINFO_REQD= 4.0
2003-06-29 06:24:56 +02:00
2004-05-07 00:29:36 +02:00
PKG_INSTALLATION_TYPES= overwrite pkgviews
2003-06-29 06:24:56 +02:00
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "Darwin"
#CONFIGURE_ENV+= INSTALL_PROGRAM=${INSTALL_LIB:Q}
INSTALL_UNSTRIPPED= yes
.endif
# Handle any PKG_OPTIONS that this package might have.
.sinclude "options.mk"
BUILD_DEFS+= ZSH_STATIC
MAKE_JOBS_SAFE= no
INSTALL_TARGET= install install.info
PKG_SHELL= bin/zsh
PLIST_VARS= dynamic terminfo curses
################################################################################
_ZSH_OPSYS.OpenBSD= ldflags tcsetpgrp
_ZSH_OPSYS.Linux= ldflags tcsetpgrp
_ZSH_OPSYS.IRIX= ldflags tcsetpgrp
_ZSH_OPSYS.Interix= ldflags notcsetpgrp
_ZSH_OPSYS.DragonFly= ldflags tcsetpgrp
_ZSH_OPSYS.FreeBSD= ldflags tcsetpgrp
_ZSH_OPSYS.SunOS= - tcsetpgrp
_ZSH_OPSYS.${OPSYS}?= ldflags tcsetpgrp
################################################################################
2003-06-29 06:24:56 +02:00
### static
2003-06-29 06:24:56 +02:00
_ZSH_LINKAGE.static.CONFIGURE_ARGS= --disable-dynamic
_ZSH_LINKAGE.static.BUILDLINK_PASSTHRU_RPATHDIRS?=
_ZSH_LINKAGE.static.LDFLAGS?= -static
### dynamic
_ZSH_DYNAMIC_VARS.ldflags= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/zsh
_ZSH_LINKAGE.dynamic.CONFIGURE_ARGS=
_ZSH_LINKAGE.dynamic.BUILDLINK_PASSTHRU_RPATHDIRS=
# XXXUEBAYASI old make(1) has problems to handle :?true_str:false_str
#_ZSH_LINKAGE.dynamic.LDFLAGS= \
# ${_ZSH_OPSYS.${OPSYS}:Mldflags:?${_ZSH_DYNAMIC_VARS.ldflags}:}
.if !empty(_ZSH_OPSYS.${OPSYS}:Mldflags)
_ZSH_LINKAGE.dynamic.LDFLAGS= ${_ZSH_DYNAMIC_VARS.ldflags}
.endif
### tcsetpgrp
_ZSH_OPSYS_VARS.tcsetpgrp= --with-tcsetpgrp
_ZSH_OPSYS_VARS.notcsetpgrp= --without-tcsetpgrp
### terminfo
CHECK_BUILTIN.terminfo= yes
.include "../../mk/terminfo.builtin.mk"
2010-02-08 23:12:40 +01:00
.if !empty(USE_BUILTIN.terminfo:M[Yy][Ee][Ss])
PLIST.terminfo= yes
.endif
### curses
2011-04-06 13:27:59 +02:00
.if empty(MACHINE_PLATFORM:MNetBSD-[0-9]*)
CHECK_BUILTIN.curses= yes
.include "../../mk/curses.builtin.mk"
.if !empty(USE_BUILTIN.curses:M[Yy][Ee][Ss])
PLIST.curses= yes
.endif
2011-04-06 13:27:59 +02:00
.endif
################################################################################
# XXXUEBAYASI old make(1) has problems to handle :?true_str:false_str
#_ZSH_LINKAGE= ${ZSH_STATIC:M[Yy][Ee][Ss]:?static:dynamic} # static / dynamic
ZSH_STATIC?= no
.if !empty(ZSH_STATIC:M[Yy][Ee][Ss])
_ZSH_LINKAGE= static
.else
_ZSH_LINKAGE= dynamic
.endif
CONFIGURE_ARGS+= ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.CONFIGURE_ARGS} \
${_ZSH_OPSYS_VARS.${_ZSH_OPSYS.${OPSYS}:Mtcsetpgrp}} \
${_ZSH_OPSYS_VARS.${_ZSH_OPSYS.${OPSYS}:Mnotcsetpgrp}}
BUILDLINK_PASSTHRU_RPATHDIRS+= ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.BUILDLINK_PASSTHRU_RPATHDIRS}
LDFLAGS+= ${_ZSH_LINKAGE.${_ZSH_LINKAGE}.LDFLAGS}
.if ${_ZSH_LINKAGE} == dynamic
PLIST.dynamic= yes
.endif
################################################################################
.undef MANZ
pre-install:
2005-10-23 17:36:48 +02:00
@cd ${WRKSRC}/Completion; ${FIND} . -name \*.orig -exec ${RM} \{\} \;
2003-06-29 06:24:56 +02:00
post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/zsh
cd ${WRKSRC}/Etc && ${INSTALL_DATA} BUGS FAQ \
${DESTDIR}${PREFIX}/share/doc/zsh
cd ${WRKSRC} && ${INSTALL_DATA} FEATURES NEWS \
${DESTDIR}${PREFIX}/share/doc/zsh
2003-06-29 06:24:56 +02:00
# Utilize Zsh's test framework.
Update to 4.2.0 Patch provided by Geoff C. Wing in PR 24918 ok'd by uebayasi@ New features between zsh versions 4.0 and 4.2 Configuration: * upgraded to use autoconf post-2.50 * improved compatibility with other shells through shell options, builtin arguments and improved builtin option parsing Syntax and builtins: * new printf builtin * `+=' to append to parameters which works for scalars, arrays and (with pairs) associative arrays. * enhanced multiple parameter `for' loops: for key value in key1 value1 key2 value2 ... maintaining full compatibility with POSIX syntax. * Suffix aliases allow the shell to run a command on a file by suffix, e.g `alias -s ps=gv' makes `foo.ps' execute `gv foo.ps'. Supplied function zsh-mime-setup uses existing mailcap and mime.types files to set up suitable aliases. Supplied function pick-web-browser is suitable for finding a browser to show .html etc. files by suffix alias. * new option `no_case_glob' for case-insensitive globbing. Add-on modules and functions: * zsh/datetime modules makes date formatting and seconds since EPOCH available inside the shell. * zsh/net/tcp module provides builtin interface to TCP through ztcp builtin. Function suite for interactive and script use with expect-style pattern matching. * zsh/net/socket module provides zsocket builtin. * zcalc calculator function with full line editing. * builtin interface to pcre library * zsh/zselect module provides zselect builtin as interface to select system call Completion system: * general improvements to command and context support, low-level functions, display code. * in verbose mode, matches with the same description are grouped * highly configurable completions for values of specific parameters, specific redirections for specific commands * support for bash completion functions (typically zsh native functions are more powerful where available) * New completions provided for (some of these may be in later 4.0 releases): valgrind, tidy, texinfo, infocmp, Java classes, larch, limit, locale parameters, netcat, mysqldiff, mt, lsof, elinks, ant, debchange (dch), email addresses, file system types, Perforce, xsltproc. Plus many others. Line editor: * special parameters $PREDISPLAY, $POSTDISPLAY available in function widgets to configure uneditable text (for narrowing) * recursive editing * supplied widgets read-from-minibuffer, replace-string use these features (more intuitive prompting and argument reading than 4.0) * access to killed text via $CUTBUFFER and $killring * supplied highly configurable word widgets forward-word-match etc., can set what constitutes a word interactively or in startup script (implement bash-style behaviour, replacing previous bash-* word widgets) * interface to incremental search via $LASTSEARCH * better handling of keymaps in zle and widgets * better support for output from user-defined widgets while zle is active * tetris game which runs entirely in zle * several other contributed widgets Local internal improvements: * disowned jobs are automatically restarted * \u and \U print escapes for Unicode * read -d allows a custom line ending. * read -t . * line numbers in error messages and $PS4 output are more consistent * `=prog' expands only paths, no longer aliases for consistency * job display in prompts; `jobs' command output can be piped * prompts: new $RPROMPT2, %^, %j, %y, enhanced %{, %}, %_. * rand48() function in zsh/mathfunc for better randomness in arithmetic (if the corresponding math library function is present) * $SECONDS parameter can be made floating point via `typeset -F SECONDS' for better timing accuracy * improvements to command line history mechanism * job table is dynamically sized, preventing overflow (typically seen previously in complex completions). * many bugfixes
2004-03-28 12:30:13 +02:00
# Testing of dynamic shell only works after install has been done
2003-06-29 06:24:56 +02:00
#
.PHONY: do-test do-su-test real-su-test
do-test: do-su-test
do-su-test:
@${_PKG_SILENT}${_PKG_DEBUG} \
${ECHO_MSG} "*** Warning: This test needs to be run as root"
@${_PKG_SILENT}${_PKG_DEBUG} \
realtarget="real-su-test"; \
action="install"; \
${_SU_TARGET}
real-su-test:
@${_PKG_SILENT}${_PKG_DEBUG} \
${ECHO_MSG} "${_PKGSRC_IN}> Testing for ${PKGNAME}"
@cd ${WRKSRC} && ${MAKE} check
@cd ${WRKSRC}/Test && ${MAKE} clean