From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- app-shells/zsh/Manifest | 12 ++ app-shells/zsh/files/prompt_gentoo_setup-1 | 33 ++++ app-shells/zsh/files/zprofile-3 | 38 +++++ app-shells/zsh/files/zprofile-4 | 42 +++++ app-shells/zsh/files/zsh-5.3-init.d-gentoo.diff | 31 ++++ app-shells/zsh/metadata.xml | 18 ++ app-shells/zsh/zsh-5.5.1-r1.ebuild | 211 ++++++++++++++++++++++++ app-shells/zsh/zsh-5.5.ebuild | 211 ++++++++++++++++++++++++ app-shells/zsh/zsh-9999.ebuild | 211 ++++++++++++++++++++++++ 9 files changed, 807 insertions(+) create mode 100644 app-shells/zsh/Manifest create mode 100644 app-shells/zsh/files/prompt_gentoo_setup-1 create mode 100644 app-shells/zsh/files/zprofile-3 create mode 100644 app-shells/zsh/files/zprofile-4 create mode 100644 app-shells/zsh/files/zsh-5.3-init.d-gentoo.diff create mode 100644 app-shells/zsh/metadata.xml create mode 100644 app-shells/zsh/zsh-5.5.1-r1.ebuild create mode 100644 app-shells/zsh/zsh-5.5.ebuild create mode 100644 app-shells/zsh/zsh-9999.ebuild (limited to 'app-shells/zsh') diff --git a/app-shells/zsh/Manifest b/app-shells/zsh/Manifest new file mode 100644 index 000000000000..cfdf35eaf97f --- /dev/null +++ b/app-shells/zsh/Manifest @@ -0,0 +1,12 @@ +AUX prompt_gentoo_setup-1 820 BLAKE2B 26fc3348f16459462dddfd3f6864a3ae58bbcbbce0e85c04d653bed9c1f1c28a07621fffd22819d62050cf019f3d6d4c127088055bc69a0cc0cb990e8435f2be SHA512 262ad91d7536c11c3b1db176217e9a9bf21df5d25d72ddfc7dece6eafceb74a252212939c8cbe5bee1ccc0e25fc4e6e906660877747f5224e862d4d22d1200a0 +AUX zprofile-3 1130 BLAKE2B cfd0f5bcc9409cb2bd133ad1511356602c110b8f1d106ac16cf3812ea57c818902a7eacb061dabd08fdc8040d6deed088c13304b2176c2488fb886c8d2a2c8bf SHA512 d1059e427450e03d3e638e96ff4f43548cee5a385c4d4f00701023570ef6490b15cd01d738bd97e0e8d003aa7e375c51a80a2b841066c22d0910966a54c2cc2f +AUX zprofile-4 1297 BLAKE2B 2e4252a7ecbfe8a193bc916f0a5a3337e2de33856fa974e78479a30df6cc29bc86d75d5dca67cb0970642348e32a70e38ffcc55222ea64061aa7bdd08194c61a SHA512 f610937e8fccc88d0ea09e8ffddd365ee3015f04b50f56c2e4f20648e77784e80e4efc2969768b5ed41640acf290ea319306cf57a52aabc3b6917543ff94fd5e +AUX zsh-5.3-init.d-gentoo.diff 1048 BLAKE2B 295e391679ef876a7bdaeaf6dc4b1b3a342c40f092f8cbeba137ee5ea6d26e16f988fc92f105bfcec739bc2aeca62195839b80dee337de8bfdfb5ff00a34fa22 SHA512 9f059cf4b99b7006955ab0ac43d4a4b4d762d193da9a738f771c562f2c3af3a9125694da59c584a3ff829598443e5429c873319ecd8fae2feba7096b597798dd +DIST zsh-5.5-doc.tar.xz 3216400 BLAKE2B 3d07b336222b08d7deff0ded6f603a47bcdcec978e6ad9c244b25f5249e07c22768ba30e67f02c8ebf4a0a8104997d0aa8959de7e3c39a428dca0b013c56e9b1 SHA512 0bde166bc4a4b8ea7512bd9d3ede53478959cb76ded65488b9a8993734cf2a8ffedcd38254fbf6ff73a5841289cb65715579744b10748afb038c9d93a01f987b +DIST zsh-5.5.1-doc.tar.xz 3216632 BLAKE2B ef1274799604d74eb9cec3c29927703c98bb63bde3aa5ce4880eda45420fe1eb79c54a693fe529c9e79161f924a76bc2a650253216c7b1e565af65f1ac3c0d91 SHA512 e240f6c6aa2efb941c2baaaf749c66c9e304ba54ce2be90586671ba47e380aac89315516e5dce41fa0ae1d8fccfc36f61ed1400b6aab3382927e2715a77d62e6 +DIST zsh-5.5.1.tar.gz 4578700 BLAKE2B b58fc763bc64e8ed6de0db2e0fd454aef995fcc86b18c2ffd4b39e037ce1cdeb04e6e2a44b2495ca89218af41ad1dd7d29e429d21fbab39377d95e62d249732e SHA512 c4f7327a3f5480bd9a169fb07e34812e0106fa9de3b5f7d38bb0db85a3e4d01b9a4a8f35553da03a15d7d819108305cfaa2811c945273e2cac84512219e69ebb +DIST zsh-5.5.tar.gz 4576506 BLAKE2B 4f5923d519b0c96475f4832cf0e5cabc1432e765d201c992903ead45b175d5bc76410ebe248c2bd01ad75a5b5939bc5bc58e9263bb4501f9b2c1f5b4d7755896 SHA512 aafa29e1bc29d35fb5822ad4ca5f4c64b1e4a4e3f9bff70e9e5976918fa9e7906467bd11f69291e694dfa77efa1e5433d7839fc668aa572228623f1c131c381f +EBUILD zsh-5.5.1-r1.ebuild 5815 BLAKE2B 2de69268e1f33af03aeaa916c5bd131ce2af119289188009a77f411b438133a14fcba24930d428a6f9d164dbd136827875289ae323a5a74889e81a786efd6c84 SHA512 635d6e440d16c5ebde6695f49085974f3ffc6be21770051c29582fd8efcc2f2d7fa208099c5979ebfa54bbaf5f264025cb7a6e654081ea81d68d7fab0b7a2d6a +EBUILD zsh-5.5.ebuild 5809 BLAKE2B bc7175e593de89a97c11d613881fe269417b5f2ef9a0cb131292dc3299c45041a87e03572620156723194bb24fbe77245b0fc64bedf6a9c9cea98dfbfb33a0e5 SHA512 5fe29eeafee8b5de30e8a606aa8b6b7950740cd0b1f6852955ff4f4cca30f9cf1be28a74adf760189f9a010334408ab3eddec1243a6faee335296efb39e08ed3 +EBUILD zsh-9999.ebuild 5819 BLAKE2B ce90b05f67237ac99adce8927cc29985dad103c9fe1b781b134d144bc8dd46e19a08fdfe86655dde9acb289b7d7dbd3ff3b367fd69ceed0961b61125cce4381b SHA512 4e23162334c1a521adc76fbed5b185546c1dc539272ec215359a13fb8d146151098c6437b27d9eb49c24f9a2a487f874276150edf16ff42bc7067e62296ac13b +MISC metadata.xml 627 BLAKE2B 075ca50a779af22aa7664943a0ec270d99869d615d73aa65f5483d4ae30821ca535f18e8841c43f2359ae83650f32931a6f91e8b0eab63ceee7ec4754db55f3c SHA512 489307b83b15893965874824d59bf9d54a6f82aa13c62e1e7a12ada87d10b8e5d3ab63c6e1dc327b087f7403c871ce3cb766423e3513ed0c3b2304342775fbb1 diff --git a/app-shells/zsh/files/prompt_gentoo_setup-1 b/app-shells/zsh/files/prompt_gentoo_setup-1 new file mode 100644 index 000000000000..046e2d87f53a --- /dev/null +++ b/app-shells/zsh/files/prompt_gentoo_setup-1 @@ -0,0 +1,33 @@ +# gentoo prompt theme + +prompt_gentoo_help () { + cat <<'EOF' +This prompt is color-scheme-able. You can invoke it thus: + + prompt gentoo [ [ []]] + +EOF +} + +prompt_gentoo_setup () { + local prompt_gentoo_prompt=${1:-'blue'} + local prompt_gentoo_user=${2:-'green'} + local prompt_gentoo_root=${3:-'red'} + + if [ "$USER" = 'root' ] + then + local base_prompt="%B%F{$prompt_gentoo_root}%m%k " + else + local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " + fi + local post_prompt="%b%f%k" + + #setopt noxtrace localoptions + + local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" + typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" + typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" + typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" +} + +prompt_gentoo_setup "$@" diff --git a/app-shells/zsh/files/zprofile-3 b/app-shells/zsh/files/zprofile-3 new file mode 100644 index 000000000000..6c223a5ef158 --- /dev/null +++ b/app-shells/zsh/files/zprofile-3 @@ -0,0 +1,38 @@ +# /etc/zsh/zprofile + +# Load environment settings from profile.env, which is created by +# env-update from the files in /etc/env.d +if [ -e /etc/profile.env ] ; then + . /etc/profile.env +fi + +# You should override these in your ~/.zprofile (or equivalent) for per-user +# settings. For system defaults, you can add a new file in /etc/profile.d/. +export EDITOR=${EDITOR:-/bin/nano} +export PAGER=${PAGER:-/usr/bin/less} + +# 077 would be more secure, but 022 is generally quite realistic +umask 022 + +# Set up PATH depending on whether we're root or a normal user. +# There's no real reason to exclude sbin paths from the normal user, +# but it can make tab-completion easier when they aren't in the +# user's PATH to pollute the executable namespace. +# +# It is intentional in the following line to use || instead of -o. +# This way the evaluation can be short-circuited and calling whoami is +# avoided. +if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then + PATH="${ROOTPATH}" +fi +export PATH +unset ROOTPATH + +shopts=$- +setopt nullglob +for sh in /etc/profile.d/*.sh ; do + [ -r "$sh" ] && . "$sh" +done +unsetopt nullglob +set -$shopts +unset sh shopts diff --git a/app-shells/zsh/files/zprofile-4 b/app-shells/zsh/files/zprofile-4 new file mode 100644 index 000000000000..6402ca718d38 --- /dev/null +++ b/app-shells/zsh/files/zprofile-4 @@ -0,0 +1,42 @@ +# /etc/zsh/zprofile + +# Load environment settings from profile.env, which is created by +# env-update from the files in /etc/env.d +if [ -e /etc/profile.env ] ; then + . /etc/profile.env +fi + +# You should override these in your ~/.zprofile (or equivalent) for per-user +# settings. For system defaults, you can add a new file in /etc/profile.d/. +export EDITOR=${EDITOR:-/bin/nano} +export PAGER=${PAGER:-/usr/bin/less} + +# 077 would be more secure, but 022 is generally quite realistic +umask 022 + +# Set up PATH depending on whether we're root or a normal user. +# There's no real reason to exclude sbin paths from the normal user, +# but it can make tab-completion easier when they aren't in the +# user's PATH to pollute the executable namespace. +# +# It is intentional in the following line to use || instead of -o. +# This way the evaluation can be short-circuited and calling whoami is +# avoided. +if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then + # Check to make sure ROOTPATH is sane before we use it. + # https://bugs.gentoo.org/656400 + if [[ :${ROOTPATH}: == *:@GENTOO_PORTAGE_EPREFIX@/usr/sbin:* ]]; then + PATH="${ROOTPATH}" + fi +fi +export PATH +unset ROOTPATH + +shopts=$- +setopt nullglob +for sh in /etc/profile.d/*.sh ; do + [ -r "$sh" ] && . "$sh" +done +unsetopt nullglob +set -$shopts +unset sh shopts diff --git a/app-shells/zsh/files/zsh-5.3-init.d-gentoo.diff b/app-shells/zsh/files/zsh-5.3-init.d-gentoo.diff new file mode 100644 index 000000000000..9deafd0d981c --- /dev/null +++ b/app-shells/zsh/files/zsh-5.3-init.d-gentoo.diff @@ -0,0 +1,31 @@ +--- zsh-5.3/Completion/Unix/Command/_init_d ++++ zsh-5.3/Completion/Unix/Command/_init_d +@@ -1,6 +1,6 @@ + #compdef -p */(init|rc[0-9S]#).d/* + +-local cmds script ++local cmds script opts + local -a flags + + _compskip=all +@@ -102,10 +102,18 @@ + + script=$words[1] + [[ $script = */* ]] || script="$(_init_d_fullpath "$script")" ++[[ ! -f $script ]] && ++ { _message "${words[1]:t} is not an init script" && return } ++ + + cmds=( $(_init_d_get_cmds) ) || return 1 + +-(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds || +- cmds=(start stop) ++(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds ++opts=(start stop restart pause zap status ineed iuse needsme usesme broken) ++ ++# If we didn't get $cmds from a zstyle, then read init script for opts. ++# If script doesn't specify opts, then default to the standard opts. ++(( $#cmds )) || cmds=( ${(eQz)${(M)${(f)"$( <$script)"}:#[[:blank:]]#opts=*}#*=} ) ++(( $#cmds )) || cmds=($opts) + + _arguments -s -A "-*" $flags ':init.d command:_sub_commands $cmds' diff --git a/app-shells/zsh/metadata.xml b/app-shells/zsh/metadata.xml new file mode 100644 index 000000000000..4c28ddb4044d --- /dev/null +++ b/app-shells/zsh/metadata.xml @@ -0,0 +1,18 @@ + + + + + radhermit@gentoo.org + Tim Harder + + + polynomial-c@gentoo.org + Lars Wendler + + + Zsh is a shell designed for interactive use, although it is also a + powerful scripting language. Many of the useful features of bash, ksh, + and tcsh were incorporated into zsh; many original features were + added. + + diff --git a/app-shells/zsh/zsh-5.5.1-r1.ebuild b/app-shells/zsh/zsh-5.5.1-r1.ebuild new file mode 100644 index 000000000000..82381ec8d41a --- /dev/null +++ b/app-shells/zsh/zsh-5.5.1-r1.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 autotools + EGIT_REPO_URI="git://git.code.sf.net/p/zsh/code" +else + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + SRC_URI="https://www.zsh.org/pub/${P}.tar.gz + doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )" +fi + +DESCRIPTION="UNIX Shell similar to the Korn shell" +HOMEPAGE="https://www.zsh.org/" + +LICENSE="ZSH gdbm? ( GPL-2 )" +SLOT="0" +IUSE="caps debug doc examples gdbm maildir pcre static unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.1:0= + static? ( >=sys-libs/ncurses-5.7-r4:0=[static-libs] ) + caps? ( sys-libs/libcap ) + pcre? ( + >=dev-libs/libpcre-3.9 + static? ( >=dev-libs/libpcre-3.9[static-libs] ) + ) + gdbm? ( sys-libs/gdbm:= ) + ! Doc/zshall.1 || die + + # add openrc specific options for init.d completion + eapply "${FILESDIR}"/${PN}-5.3-init.d-gentoo.diff + fi + + eapply_user + + if [[ ${PV} == 9999* ]] ; then + sed -i "/^VERSION=/s/=.*/=${PV}/" Config/version.mk || die + eautoreconf + fi +} + +src_configure() { + local myconf=( + --bindir="${EPREFIX}"/bin + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-etcdir="${EPREFIX}"/etc/zsh + --enable-runhelpdir="${EPREFIX}"/usr/share/zsh/${PV%_*}/help + --enable-fndir="${EPREFIX}"/usr/share/zsh/${PV%_*}/functions + --enable-site-fndir="${EPREFIX}"/usr/share/zsh/site-functions + --enable-function-subdirs + --with-tcsetpgrp + $(use_enable maildir maildir-support) + $(use_enable pcre) + $(use_enable caps cap) + $(use_enable unicode multibyte) + $(use_enable gdbm ) + ) + + if use static ; then + myconf+=( --disable-dynamic ) + append-ldflags -static + fi + if use debug ; then + myconf+=( + --enable-zsh-debug + --enable-zsh-mem-debug + --enable-zsh-mem-warning + --enable-zsh-secure-free + --enable-zsh-hash-debug + ) + fi + + if [[ ${CHOST} == *-darwin* ]]; then + myconf+=( --enable-libs=-liconv ) + append-ldflags -Wl,-x + fi + + econf "${myconf[@]}" + + if use static ; then + # compile all modules statically, see Bug #27392 + # removed cap and curses because linking failes + sed -e "s,link=no,link=static,g" \ + -e "/^name=zsh\/cap/s,link=static,link=no," \ + -e "/^name=zsh\/curses/s,link=static,link=no," \ + -i "${S}"/config.modules || die + if ! use gdbm ; then + sed -i '/^name=zsh\/db\/gdbm/s,link=static,link=no,' \ + "${S}"/config.modules || die + fi + fi +} + +src_compile() { + default + + if [[ ${PV} == 9999* ]] && use doc ; then + emake -C Doc everything + fi +} + +src_test() { + addpredict /dev/ptmx + local i + for i in C02cond.ztst V08zpty.ztst X02zlevi.ztst Y01completion.ztst Y02compmatch.ztst Y03arguments.ztst ; do + rm "${S}"/Test/${i} || die + done + emake check +} + +src_install() { + emake DESTDIR="${D}" install $(usex doc "install.info" "") + + insinto /etc/zsh + export PREFIX_QUOTE_CHAR='"' PREFIX_EXTRA_REGEX="/EUID/s,0,${EUID}," + newins "$(prefixify_ro "${FILESDIR}"/zprofile-4)" zprofile + + keepdir /usr/share/zsh/site-functions + insinto /usr/share/zsh/${PV%_*}/functions/Prompts + newins "${FILESDIR}"/prompt_gentoo_setup-1 prompt_gentoo_setup + + local i + + # install miscellaneous scripts (bug #54520) + sed -e "s:/usr/local/bin/perl:${EPREFIX}/usr/bin/perl:g" \ + -e "s:/usr/local/bin/zsh:${EPREFIX}/bin/zsh:g" \ + -i {Util,Misc}/* || die + for i in Util Misc ; do + insinto /usr/share/zsh/${PV%_*}/${i} + doins ${i}/* + done + + # install header files (bug #538684) + insinto /usr/include/zsh + doins config.h Src/*.epro + for i in Src/{zsh.mdh,*.h} ; do + sed -e 's@\.\./config\.h@config.h@' \ + -e 's@#\(\s*\)include "\([^"]\+\)"@#\1include @' \ + -i "${i}" + doins "${i}" + done + + dodoc ChangeLog* META-FAQ NEWS README config.modules + + if use doc ; then + pushd "${WORKDIR}/${PN}-${PV%_*}" >/dev/null + docinto html + dodoc Doc/*.html + insinto /usr/share/doc/${PF} + doins Doc/zsh.{dvi,pdf} + popd >/dev/null + fi + + docinto StartupFiles + dodoc StartupFiles/z* +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "If you want to enable Portage completions and Gentoo prompt," + elog "emerge app-shells/gentoo-zsh-completions and add" + elog " autoload -U compinit promptinit" + elog " compinit" + elog " promptinit; prompt gentoo" + elog "to your ~/.zshrc" + echo + elog "Also, if you want to enable cache for the completions, add" + elog " zstyle ':completion::complete:*' use-cache 1" + elog "to your ~/.zshrc" + echo + elog "Note that a system zprofile startup file is installed. This will override" + elog "PATH and possibly other variables that a user may set in ~/.zshenv." + elog "Custom PATH settings and similar overridden variables can be moved to ~/.zprofile" + elog "or other user startup files that are sourced after the system zprofile." + echo + elog "If PATH must be set in ~/.zshenv to affect things like non-login ssh shells," + elog "one method is to use a separate path-setting file that is conditionally sourced" + elog "in ~/.zshenv and also sourced from ~/.zprofile. For more information, see the" + elog "zshenv example in ${EROOT}/usr/share/doc/${PF}/StartupFiles/." + echo + elog "See https://wiki.gentoo.org/wiki/Zsh/HOWTO for more introduction documentation." + echo + fi +} diff --git a/app-shells/zsh/zsh-5.5.ebuild b/app-shells/zsh/zsh-5.5.ebuild new file mode 100644 index 000000000000..076104ab0f3f --- /dev/null +++ b/app-shells/zsh/zsh-5.5.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 autotools + EGIT_REPO_URI="git://git.code.sf.net/p/zsh/code" +else + KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + SRC_URI="https://www.zsh.org/pub/${P}.tar.gz + doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )" +fi + +DESCRIPTION="UNIX Shell similar to the Korn shell" +HOMEPAGE="https://www.zsh.org/" + +LICENSE="ZSH gdbm? ( GPL-2 )" +SLOT="0" +IUSE="caps debug doc examples gdbm maildir pcre static unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.1:0= + static? ( >=sys-libs/ncurses-5.7-r4:0=[static-libs] ) + caps? ( sys-libs/libcap ) + pcre? ( + >=dev-libs/libpcre-3.9 + static? ( >=dev-libs/libpcre-3.9[static-libs] ) + ) + gdbm? ( sys-libs/gdbm:= ) + ! Doc/zshall.1 || die + + # add openrc specific options for init.d completion + eapply "${FILESDIR}"/${PN}-5.3-init.d-gentoo.diff + fi + + eapply_user + + if [[ ${PV} == 9999* ]] ; then + sed -i "/^VERSION=/s/=.*/=${PV}/" Config/version.mk || die + eautoreconf + fi +} + +src_configure() { + local myconf=( + --bindir="${EPREFIX}"/bin + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-etcdir="${EPREFIX}"/etc/zsh + --enable-runhelpdir="${EPREFIX}"/usr/share/zsh/${PV%_*}/help + --enable-fndir="${EPREFIX}"/usr/share/zsh/${PV%_*}/functions + --enable-site-fndir="${EPREFIX}"/usr/share/zsh/site-functions + --enable-function-subdirs + --with-tcsetpgrp + $(use_enable maildir maildir-support) + $(use_enable pcre) + $(use_enable caps cap) + $(use_enable unicode multibyte) + $(use_enable gdbm ) + ) + + if use static ; then + myconf+=( --disable-dynamic ) + append-ldflags -static + fi + if use debug ; then + myconf+=( + --enable-zsh-debug + --enable-zsh-mem-debug + --enable-zsh-mem-warning + --enable-zsh-secure-free + --enable-zsh-hash-debug + ) + fi + + if [[ ${CHOST} == *-darwin* ]]; then + myconf+=( --enable-libs=-liconv ) + append-ldflags -Wl,-x + fi + + econf "${myconf[@]}" + + if use static ; then + # compile all modules statically, see Bug #27392 + # removed cap and curses because linking failes + sed -e "s,link=no,link=static,g" \ + -e "/^name=zsh\/cap/s,link=static,link=no," \ + -e "/^name=zsh\/curses/s,link=static,link=no," \ + -i "${S}"/config.modules || die + if ! use gdbm ; then + sed -i '/^name=zsh\/db\/gdbm/s,link=static,link=no,' \ + "${S}"/config.modules || die + fi + fi +} + +src_compile() { + default + + if [[ ${PV} == 9999* ]] && use doc ; then + emake -C Doc everything + fi +} + +src_test() { + addpredict /dev/ptmx + local i + for i in C02cond.ztst V08zpty.ztst X02zlevi.ztst Y01completion.ztst Y02compmatch.ztst Y03arguments.ztst ; do + rm "${S}"/Test/${i} || die + done + emake check +} + +src_install() { + emake DESTDIR="${D}" install $(usex doc "install.info" "") + + insinto /etc/zsh + export PREFIX_QUOTE_CHAR='"' PREFIX_EXTRA_REGEX="/EUID/s,0,${EUID}," + newins "$(prefixify_ro "${FILESDIR}"/zprofile-3)" zprofile + + keepdir /usr/share/zsh/site-functions + insinto /usr/share/zsh/${PV%_*}/functions/Prompts + newins "${FILESDIR}"/prompt_gentoo_setup-1 prompt_gentoo_setup + + local i + + # install miscellaneous scripts (bug #54520) + sed -e "s:/usr/local/bin/perl:${EPREFIX}/usr/bin/perl:g" \ + -e "s:/usr/local/bin/zsh:${EPREFIX}/bin/zsh:g" \ + -i {Util,Misc}/* || die + for i in Util Misc ; do + insinto /usr/share/zsh/${PV%_*}/${i} + doins ${i}/* + done + + # install header files (bug #538684) + insinto /usr/include/zsh + doins config.h Src/*.epro + for i in Src/{zsh.mdh,*.h} ; do + sed -e 's@\.\./config\.h@config.h@' \ + -e 's@#\(\s*\)include "\([^"]\+\)"@#\1include @' \ + -i "${i}" + doins "${i}" + done + + dodoc ChangeLog* META-FAQ NEWS README config.modules + + if use doc ; then + pushd "${WORKDIR}/${PN}-${PV%_*}" >/dev/null + docinto html + dodoc Doc/*.html + insinto /usr/share/doc/${PF} + doins Doc/zsh.{dvi,pdf} + popd >/dev/null + fi + + docinto StartupFiles + dodoc StartupFiles/z* +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "If you want to enable Portage completions and Gentoo prompt," + elog "emerge app-shells/gentoo-zsh-completions and add" + elog " autoload -U compinit promptinit" + elog " compinit" + elog " promptinit; prompt gentoo" + elog "to your ~/.zshrc" + echo + elog "Also, if you want to enable cache for the completions, add" + elog " zstyle ':completion::complete:*' use-cache 1" + elog "to your ~/.zshrc" + echo + elog "Note that a system zprofile startup file is installed. This will override" + elog "PATH and possibly other variables that a user may set in ~/.zshenv." + elog "Custom PATH settings and similar overridden variables can be moved to ~/.zprofile" + elog "or other user startup files that are sourced after the system zprofile." + echo + elog "If PATH must be set in ~/.zshenv to affect things like non-login ssh shells," + elog "one method is to use a separate path-setting file that is conditionally sourced" + elog "in ~/.zshenv and also sourced from ~/.zprofile. For more information, see the" + elog "zshenv example in ${EROOT}/usr/share/doc/${PF}/StartupFiles/." + echo + elog "See https://wiki.gentoo.org/wiki/Zsh/HOWTO for more introduction documentation." + echo + fi +} diff --git a/app-shells/zsh/zsh-9999.ebuild b/app-shells/zsh/zsh-9999.ebuild new file mode 100644 index 000000000000..9f6dc303d882 --- /dev/null +++ b/app-shells/zsh/zsh-9999.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 autotools + EGIT_REPO_URI="git://git.code.sf.net/p/zsh/code" +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + SRC_URI="https://www.zsh.org/pub/${P}.tar.gz + doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )" +fi + +DESCRIPTION="UNIX Shell similar to the Korn shell" +HOMEPAGE="https://www.zsh.org/" + +LICENSE="ZSH gdbm? ( GPL-2 )" +SLOT="0" +IUSE="caps debug doc examples gdbm maildir pcre static unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.1:0= + static? ( >=sys-libs/ncurses-5.7-r4:0=[static-libs] ) + caps? ( sys-libs/libcap ) + pcre? ( + >=dev-libs/libpcre-3.9 + static? ( >=dev-libs/libpcre-3.9[static-libs] ) + ) + gdbm? ( sys-libs/gdbm:= ) + ! Doc/zshall.1 || die + + # add openrc specific options for init.d completion + eapply "${FILESDIR}"/${PN}-5.3-init.d-gentoo.diff + fi + + eapply_user + + if [[ ${PV} == 9999* ]] ; then + sed -i "/^VERSION=/s/=.*/=${PV}/" Config/version.mk || die + eautoreconf + fi +} + +src_configure() { + local myconf=( + --bindir="${EPREFIX}"/bin + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-etcdir="${EPREFIX}"/etc/zsh + --enable-runhelpdir="${EPREFIX}"/usr/share/zsh/${PV%_*}/help + --enable-fndir="${EPREFIX}"/usr/share/zsh/${PV%_*}/functions + --enable-site-fndir="${EPREFIX}"/usr/share/zsh/site-functions + --enable-function-subdirs + --with-tcsetpgrp + $(use_enable maildir maildir-support) + $(use_enable pcre) + $(use_enable caps cap) + $(use_enable unicode multibyte) + $(use_enable gdbm ) + ) + + if use static ; then + myconf+=( --disable-dynamic ) + append-ldflags -static + fi + if use debug ; then + myconf+=( + --enable-zsh-debug + --enable-zsh-mem-debug + --enable-zsh-mem-warning + --enable-zsh-secure-free + --enable-zsh-hash-debug + ) + fi + + if [[ ${CHOST} == *-darwin* ]]; then + myconf+=( --enable-libs=-liconv ) + append-ldflags -Wl,-x + fi + + econf "${myconf[@]}" + + if use static ; then + # compile all modules statically, see Bug #27392 + # removed cap and curses because linking failes + sed -e "s,link=no,link=static,g" \ + -e "/^name=zsh\/cap/s,link=static,link=no," \ + -e "/^name=zsh\/curses/s,link=static,link=no," \ + -i "${S}"/config.modules || die + if ! use gdbm ; then + sed -i '/^name=zsh\/db\/gdbm/s,link=static,link=no,' \ + "${S}"/config.modules || die + fi + fi +} + +src_compile() { + default + + if [[ ${PV} == 9999* ]] && use doc ; then + emake -C Doc everything + fi +} + +src_test() { + addpredict /dev/ptmx + local i + for i in C02cond.ztst V08zpty.ztst X02zlevi.ztst Y01completion.ztst Y02compmatch.ztst Y03arguments.ztst ; do + rm "${S}"/Test/${i} || die + done + emake check +} + +src_install() { + emake DESTDIR="${D}" install $(usex doc "install.info" "") + + insinto /etc/zsh + export PREFIX_QUOTE_CHAR='"' PREFIX_EXTRA_REGEX="/EUID/s,0,${EUID}," + newins "$(prefixify_ro "${FILESDIR}"/zprofile-4)" zprofile + + keepdir /usr/share/zsh/site-functions + insinto /usr/share/zsh/${PV%_*}/functions/Prompts + newins "${FILESDIR}"/prompt_gentoo_setup-1 prompt_gentoo_setup + + local i + + # install miscellaneous scripts (bug #54520) + sed -e "s:/usr/local/bin/perl:${EPREFIX}/usr/bin/perl:g" \ + -e "s:/usr/local/bin/zsh:${EPREFIX}/bin/zsh:g" \ + -i {Util,Misc}/* || die + for i in Util Misc ; do + insinto /usr/share/zsh/${PV%_*}/${i} + doins ${i}/* + done + + # install header files (bug #538684) + insinto /usr/include/zsh + doins config.h Src/*.epro + for i in Src/{zsh.mdh,*.h} ; do + sed -e 's@\.\./config\.h@config.h@' \ + -e 's@#\(\s*\)include "\([^"]\+\)"@#\1include @' \ + -i "${i}" + doins "${i}" + done + + dodoc ChangeLog* META-FAQ NEWS README config.modules + + if use doc ; then + pushd "${WORKDIR}/${PN}-${PV%_*}" >/dev/null + docinto html + dodoc Doc/*.html + insinto /usr/share/doc/${PF} + doins Doc/zsh.{dvi,pdf} + popd >/dev/null + fi + + docinto StartupFiles + dodoc StartupFiles/z* +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "If you want to enable Portage completions and Gentoo prompt," + elog "emerge app-shells/gentoo-zsh-completions and add" + elog " autoload -U compinit promptinit" + elog " compinit" + elog " promptinit; prompt gentoo" + elog "to your ~/.zshrc" + echo + elog "Also, if you want to enable cache for the completions, add" + elog " zstyle ':completion::complete:*' use-cache 1" + elog "to your ~/.zshrc" + echo + elog "Note that a system zprofile startup file is installed. This will override" + elog "PATH and possibly other variables that a user may set in ~/.zshenv." + elog "Custom PATH settings and similar overridden variables can be moved to ~/.zprofile" + elog "or other user startup files that are sourced after the system zprofile." + echo + elog "If PATH must be set in ~/.zshenv to affect things like non-login ssh shells," + elog "one method is to use a separate path-setting file that is conditionally sourced" + elog "in ~/.zshenv and also sourced from ~/.zprofile. For more information, see the" + elog "zshenv example in ${EROOT}/usr/share/doc/${PF}/StartupFiles/." + echo + elog "See https://wiki.gentoo.org/wiki/Zsh/HOWTO for more introduction documentation." + echo + fi +} -- cgit v1.2.3