# Contributor: <kalonji@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'zsh'
setvar pkgver = '5.4.1'
setvar pkgrel = '0'
setvar pkgdesc = ""A very advanced and programmable command interpreter (shell)""
setvar url = ""http://www.zsh.org/""
setvar arch = ""all""
setvar license = ""BSD""
setvar makedepends = ""ncurses-dev""
setvar install = ""zsh.post-install zsh.post-upgrade zsh.pre-deinstall""
setvar source = ""http://www.zsh.org/pub/$pkgname-$pkgver.tar.xz
	zprofile
	""
setvar subpackages = ""$pkgname-doc $pkgname-calendar::noarch $pkgname-vcs::noarch $pkgname-zftp""
setvar builddir = ""$srcdir/$pkgname-$pkgver""

setvar _libdir = ""usr/lib/zsh/$pkgver""
setvar _sharedir = ""usr/share/zsh/$pkgver""

# Move some bigger completion files to subpackages.
setvar _comps = ""android-tools:Unix/_adb
	bzr:Unix/_bzr
	cvs:Unix/_cvs
	gcc:Unix/_gcc
	git:Unix/_git
	graphicsmagick:Unix/_graphicsmagick
	imagemagick:Unix/_imagemagick
	lynx:Unix/_lynx
	mercurial:Unix/_hg
	rsync:Unix/_rsync
	subversion:Unix/_subversion
	tmux:Unix/_tmux
	zfs:Unix/_zfs*:Unix/_zpool""
for _i in $_comps {
	setvar subpackages = ""$subpackages ${_i%%:*}-zsh-completion:_completion:noarch""
}

proc prepare {
	cd $builddir

	default_prepare
	update_config_sub

	# Remove completions for other systems.
	cd Completion
	rm -Rf AIX BSD Cygwin Darwin Debian Mandriva Redhat Solaris openSUSE

	# Remove completions for programs that are not available on Alpine
	# (just to decrease size of the package).
	cd Unix/Command
	rm -f _aap _apm _baz _bittorrent _bpython _ccal _cdcd _chkconfig _clay \
		_cowsay _cplay _cssh _darcs _devtodo _dict _dsh _elfdump _elm \
		_enscript _finger _flasher _fsh _gnupod _guilt _initctl _lzop \
		_mencal _module _monotone _moosic _mysqldiff _nkf \
		_pack _pax _perforce _pine _pkgadd _pkginfo _pkgrm _prcs \
		_quilt _raggle _rcs _rlogin _rubber _sablotron _sisu _socket \
		_stgit _surfraw _tardy _telnet _tin _tla _topgit _totd _twidge \
		_unace _unison _units _uzbl _vcsh _vux _wiggle _xmms2 _yodl
	cd ../../Linux/Command
	rm -f _acpitool _mondo _tpb _tpconfig _uml _vserver
	cd ../../X/Command
	rm -f _acroread _dcop _gnome-gv _gqview _gv _kfmclient _matlab \
		_nautilus _netscape _okular _qiv _vnc _xfig _xloadimage \
		_xournal _xv _xwit
}

proc build {
	cd $builddir

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--bindir=/bin \
		--enable-etcdir=/etc/zsh \
		--enable-multibyte \
		--enable-function-subdirs \
		--enable-zsh-secure-free \
		--sysconfdir=/etc \
		--with-tcsetpgrp \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info
	make
}

proc package {
	cd $builddir

	make DESTDIR="$pkgdir" install
	install -Dm644 "$srcdir"/zprofile "$pkgdir"/etc/zsh/zprofile
}

proc doc {
	default_doc
	_submv $_sharedir/help
}

proc calendar {
	setvar pkgdesc = ""Calendar Function System for ZSH""
	setvar depends = "$pkgname"

	_submv $_sharedir/functions/Calendar
}

proc vcs {
	setvar pkgdesc = ""Version Control Information module for ZSH (vcs_info)""
	setvar depends = "$pkgname"

	_submv $_sharedir/functions/VCS_Info
}

proc zftp {
	setvar pkgdesc = ""Zftp Function System for ZSH""
	setvar depends = "$pkgname"

	_submv $_libdir/zsh/zftp.so
	_submv $_sharedir/functions/Zftp
}

proc _completion {
	local name="${subpkgname%-zsh-completion}"
	setvar pkgdesc = ""Zsh completions for $name""
	setvar depends = "$pkgname"
	setvar install_if = ""$pkgname=$pkgver-r$pkgrel $name""

	local files="$(printf '%s\n' $_comps \
		| sed -En "s|^$name:(.*)|\1|p" | tr : ' ')"
	test -n $files || do { echo "$name not found in \$_comps" >&2; return 1; }

	local f; for f in $files {
		_submv $_sharedir/functions/Completion/$f
	}
}

proc _submv {
	local path="$1"
	mkdir -p "$subpkgdir"/${path%/*}
	mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
}

setvar sha512sums = ""c666c54b05e2707e3a3cf9a87a17863792f0c89ec14f5fdc85a3064f26249cfba42a2953bc76bb90205fb87a08c203a165a5240c9fd6c489c13d8cc82ee6e979  zsh-5.4.1.tar.xz
59182b99447872ded8adf0d890e9359ee47fce0b7acb2808f4308f945885fbf6d977a0917bbb5c0f21454caf3ba06ab092127732da4f84292d6ab0989a0110fe  zprofile""