summaryrefslogtreecommitdiff
blob: 5f8154f7ba557923f043dfb11101e60de8a3e1bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-shells/zsh/zsh-4.0.9-r4.ebuild,v 1.3 2005/01/01 16:01:01 eradicator Exp $

inherit flag-o-matic eutils

DESCRIPTION="UNIX Shell similar to the Korn shell"
HOMEPAGE="http://www.zsh.org/"
SRC_URI="ftp://ftp.zsh.org/pub/${P}.tar.bz2
	doc? ( ftp://ftp.zsh.org/pub/${P}-doc.tar.bz2 )
	cjk? ( http://www.ono.org/software/dist/${P}-euc-0.2.patch.gz )"

LICENSE="ZSH"
SLOT="0"
KEYWORDS="x86 ppc ~sparc alpha"
IUSE="maildir ncurses static doc cjk"

RDEPEND="ncurses? ( >=sys-libs/ncurses-5.1 )"
DEPEND="${RDEPEND}
	virtual/libc
	sys-apps/groff"

src_unpack() {
	unpack ${A}
	cd ${S}
	use cjk && epatch ../${P}-euc-0.2.patch
	epatch ${FILESDIR}/${PN}-strncmp.diff
	epatch ${FILESDIR}/${PN}-init.d-gentoo.diff
	cd ${S}/Doc
	ln -sf . man1
	# fix zshall problem with soelim
	soelim zshall.1 > zshall.1.soelim
	mv zshall.1.soelim zshall.1
}

src_compile() {
	local myconf

	use ncurses && myconf="--with-curses-terminfo"
	use maildir && myconf="${myconf} --enable-maildir-support"
	use static \
		&& myconf="${myconf} --disable-dynamic" \
		&& append-ldflags -static

	econf \
		--bindir=/bin \
		--libdir=/usr/lib \
		--enable-etcdir=/etc/zsh \
		--enable-zshenv=/etc/zsh/zshenv \
		--enable-zlogin=/etc/zsh/zlogin \
		--enable-zlogout=/etc/zsh/zlogout \
		--enable-zprofile=/etc/zsh/zprofile \
		--enable-zshrc=/etc/zsh/zshrc \
		--enable-fndir=/usr/share/zsh/${PV}/functions \
		--enable-site-fndir=/usr/share/zsh/site-functions \
		--enable-function-subdirs \
		--enable-ldflags="${LDFLAGS}" \
		${myconf} || die "configure failed"
	# emake still b0rks
	make || die "make failed"
}

src_test() {
	addpredict /dev/ptmx
	make check || die "make check failed"
}

src_install() {
	einstall \
		bindir=${D}/bin \
		libdir=${D}/usr/lib \
		fndir=${D}/usr/share/zsh/${PV}/functions \
		sitefndir=${D}/usr/share/zsh/site-functions \
		install.bin install.man install.modules \
		install.info install.fns || die "make install failed"

	insinto /etc/zsh
	doins ${FILESDIR}/zprofile

	keepdir /usr/share/zsh/site-functions

	dodoc ChangeLog* META-FAQ README INSTALL LICENCE config.modules

	if use doc ; then
		dohtml Doc/*
		insinto /usr/share/doc/${PF}
		doins Doc/zsh{.dvi,_us.ps,_a4.ps}
	fi

	docinto StartupFiles
	dodoc StartupFiles/z*
}

pkg_preinst() {
	# Our zprofile file does the job of the old zshenv file
	# Move the old version into a zprofile script so the normal
	# etc-update process will handle any changes.
	if [ -f ${ROOT}/etc/zsh/zshenv -a ! -f ${ROOT}/etc/zsh/zprofile ]; then
		mv ${ROOT}/etc/zsh/zshenv ${ROOT}/etc/zsh/zprofile
	fi
}

pkg_postinst() {
	einfo
	einfo "If you want to enable Portage completion,"
	einfo "emerge app-shells/zsh-completion and add"
	einfo "	autoload -U compinit"
	einfo "	compinit"
	einfo "to your ~/.zshrc"
	einfo
}