pkgsrc/shells/zsh/Makefile.common

121 lines
3.2 KiB
Text
Raw Normal View History

# $NetBSD: Makefile.common,v 1.48 2008/07/25 09:14:48 ghen Exp $
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/ \
ftp://ftp.funet.fi/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.dotsrc.org/
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"
# Handle any PKG_OPTIONS that this package might have.
.sinclude "options.mk"
BUILD_DEFS+= ZSH_STATIC
MAKE_JOBS_SAFE= no
.if defined(ZSH_STATIC) && !empty(ZSH_STATIC:M[Yy][Ee][Ss])
CONFIGURE_ARGS+= --disable-dynamic
NETBSD_SHLINKER= /libexec/ld.elf_so
NETBSD_SHLIBDIR= /lib
. if ${OPSYS} == "NetBSD" && \
defined(OBJECT_FMT) && ${OBJECT_FMT} == "ELF" && \
defined(MKDYNAMICROOT) && ${MKDYNAMICROOT} != "no" && \
defined(NETBSD_SHLINKER) && exists(${NETBSD_SHLINKER}) && \
defined(NETBSD_SHLIBDIR) && exists(${NETBSD_SHLIBDIR})
#
# Built a dynamically linked "zsh" binary on NetBSD systems which use
# dynamically linked binaries on the root filesystem. The binary will
# only depend on the run-time link-editor and shared libraries on the
# root filesystem. We use "-rpath" below by purpose because the
# buildlink 3 framework won't filter it out.
#
BUILDLINK_PASSTHRU_RPATHDIRS+= ${NETBSD_SHLIBDIR}
LDFLAGS+= -Wl,-dynamic-linker=${NETBSD_SHLINKER} -Wl,-R${NETBSD_SHLIBDIR}
. else
2003-06-29 06:24:56 +02:00
LDFLAGS+= -static
. endif
2003-06-29 06:24:56 +02:00
.else
2003-06-30 15:46:04 +02:00
. if ${OPSYS} == "SunOS"
2003-06-29 06:24:56 +02:00
PLIST_SRC= ${PKGDIR}/PLIST.dynamic ${PKGDIR}/PLIST
2003-06-30 15:46:04 +02:00
. else
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/zsh
2007-08-24 17:16:21 +02:00
. if ${OPSYS} == "Linux" || ${OPSYS} == "IRIX" || ${OPSYS} == "OpenBSD"
PLIST_SRC+= ${PKGDIR}/PLIST.terminfo
. elif ${OPSYS} == "Interix" || ${OPSYS} == "DragonFly" || \
${OPSYS} == "FreeBSD"
PLIST_SRC+= ${PKGDIR}/PLIST.terminfo ${PKGDIR}/PLIST.shlibs
2005-01-25 14:13:55 +01:00
. else
PLIST_SRC+= ${PKGDIR}/PLIST.shlibs
. endif
PLIST_SRC+= ${PKGDIR}/PLIST.dynamic ${PKGDIR}/PLIST
2003-06-30 15:46:04 +02:00
. endif
2003-06-29 06:24:56 +02:00
.endif
.if ${OPSYS} == "Interix"
2005-01-25 14:13:55 +01:00
CONFIGURE_ARGS+=--without-tcsetpgrp
.else
CONFIGURE_ARGS+=--with-tcsetpgrp
.endif
2003-06-29 06:24:56 +02:00
.undef MANZ
PKG_SHELL= bin/zsh
2003-06-29 06:24:56 +02:00
INSTALL_TARGET= install install.info
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