# Contributor: # Contributor: Jakub Jirutka # Maintainer: Natanael Copa global pkgname := 'zsh' global pkgver := '5.4.1' global pkgrel := '0' global pkgdesc := '"A very advanced and programmable command interpreter (shell)'" global url := '"http://www.zsh.org/'" global arch := '"all'" global license := '"BSD'" global makedepends := '"ncurses-dev'" global install := '"zsh.post-install zsh.post-upgrade zsh.pre-deinstall'" global source := ""http://www.zsh.org/pub/$pkgname-$pkgver.tar.xz zprofile "" global subpackages := ""$pkgname-doc $pkgname-calendar::noarch $pkgname-vcs::noarch $pkgname-zftp"" global builddir := ""$srcdir/$pkgname-$pkgver"" global _libdir := ""usr/lib/zsh/$pkgver"" global _sharedir := ""usr/share/zsh/$pkgver"" # Move some bigger completion files to subpackages. global _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] { global 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 { global pkgdesc := '"Calendar Function System for ZSH'" global depends := $pkgname _submv $_sharedir/functions/Calendar } proc vcs { global pkgdesc := '"Version Control Information module for ZSH (vcs_info)'" global depends := $pkgname _submv $_sharedir/functions/VCS_Info } proc zftp { global pkgdesc := '"Zftp Function System for ZSH'" global depends := $pkgname _submv $_libdir/zsh/zftp.so _submv $_sharedir/functions/Zftp } proc _completion { var name = $(subpkgname%-zsh-completion) global pkgdesc := ""Zsh completions for $name"" global depends := $pkgname global install_if := ""$pkgname=$pkgver-r$pkgrel $name"" var 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; } var f = ''; for f in [$files] { _submv $_sharedir/functions/Completion/$f } } proc _submv { var path = $1 mkdir -p "$subpkgdir"/$(path%/*) mv "$pkgdir"/$path "$subpkgdir"/$(path%/*)/ } global sha512sums := '"c666c54b05e2707e3a3cf9a87a17863792f0c89ec14f5fdc85a3064f26249cfba42a2953bc76bb90205fb87a08c203a165a5240c9fd6c489c13d8cc82ee6e979 zsh-5.4.1.tar.xz 59182b99447872ded8adf0d890e9359ee47fce0b7acb2808f4308f945885fbf6d977a0917bbb5c0f21454caf3ba06ab092127732da4f84292d6ab0989a0110fe zprofile'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(zsh)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(5.4.1)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A very advanced and programmable command interpreter (shell)"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.zsh.org/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ (ncurses-dev))} spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ("zsh.post-install zsh.post-upgrade zsh.pre-deinstall"))} spids: [43] ) ] spids: [43] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://www.zsh.org/pub/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.xz\n") ("\tzprofile\n") ("\t") ) } spids: [48] ) ] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-calendar::noarch ") ($ VSub_Name "$pkgname") ("-vcs::noarch ") ($ VSub_Name "$pkgname") (-zftp) ) } spids: [59] ) ] spids: [59] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [71] ) ] spids: [71] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_libdir) op: Equal rhs: {(DQ (usr/lib/zsh/) ($ VSub_Name "$pkgver"))} spids: [81] ) ] spids: [81] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_sharedir) op: Equal rhs: {(DQ (usr/share/zsh/) ($ VSub_Name "$pkgver"))} spids: [87] ) ] spids: [87] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_comps) op: Equal rhs: { (DQ ("android-tools:Unix/_adb\n") ("\tbzr:Unix/_bzr\n") ("\tcvs:Unix/_cvs\n") ("\tgcc:Unix/_gcc\n") ("\tgit:Unix/_git\n") ("\tgraphicsmagick:Unix/_graphicsmagick\n") ("\timagemagick:Unix/_imagemagick\n") ("\tlynx:Unix/_lynx\n") ("\tmercurial:Unix/_hg\n") ("\trsync:Unix/_rsync\n") ("\tsubversion:Unix/_subversion\n") ("\ttmux:Unix/_tmux\n") ("\tzfs:Unix/_zfs*:Unix/_zpool") ) } spids: [97] ) ] spids: [97] ) (ForEach iter_name: _i iter_words: [{($ VSub_Name "$_comps")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(":*")}) spids: [130 134] ) ("-zsh-completion:_completion:noarch") ) } spids: [126] ) ] spids: [126] ) ] spids: [123 138] ) spids: [119 121] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(default_prepare)}) (C {(update_config_sub)}) (C {(cd)} {(Completion)}) (C {(rm)} {(-Rf)} {(AIX)} {(BSD)} {(Cygwin)} {(Darwin)} {(Debian)} {(Mandriva)} {(Redhat)} {(Solaris)} {(openSUSE)} ) (C {(cd)} {(Unix/Command)}) (C {(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)} ) (C {(cd)} {(../../Linux/Command)}) (C {(rm)} {(-f)} {(_acpitool)} {(_mondo)} {(_tpb)} {(_tpconfig)} {(_uml)} {(_vserver)}) (C {(cd)} {(../../X/Command)}) (C {(rm)} {(-f)} {(_acroread)} {(_dcop)} {(_gnome-gv)} {(_gqview)} {(_gv)} {(_kfmclient)} {(_matlab)} {(_nautilus)} {(_netscape)} {(_okular)} {(_qiv)} {(_vnc)} {(_xfig)} {(_xloadimage)} {(_xournal)} {(_xv)} {(_xwit)} ) ] spids: [145] ) spids: [141 144] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--bindir) (Lit_Other "=") (/bin)} {(--enable-etcdir) (Lit_Other "=") (/etc/zsh)} {(--enable-multibyte)} {(--enable-function-subdirs)} {(--enable-zsh-secure-free)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--with-tcsetpgrp)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} ) (C {(make)}) ] spids: [436] ) spids: [432 435] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/zprofile)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/zsh/zprofile)} ) ] spids: [523] ) spids: [519 522] ) (FuncDef name: doc body: (BraceGroup children: [(C {(default_doc)}) (C {(_submv)} {($ VSub_Name "$_sharedir") (/help)})] spids: [565] ) spids: [561 564] ) (FuncDef name: calendar body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Calendar Function System for ZSH"))} spids: [586] ) ] spids: [586] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [592] ) ] spids: [592] ) (C {(_submv)} {($ VSub_Name "$_sharedir") (/functions/Calendar)}) ] spids: [583] ) spids: [579 582] ) (FuncDef name: vcs body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Version Control Information module for ZSH (vcs_info)"))} spids: [614] ) ] spids: [614] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [620] ) ] spids: [620] ) (C {(_submv)} {($ VSub_Name "$_sharedir") (/functions/VCS_Info)}) ] spids: [611] ) spids: [607 610] ) (FuncDef name: zftp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Zftp Function System for ZSH"))} spids: [642] ) ] spids: [642] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [648] ) ] spids: [648] ) (C {(_submv)} {($ VSub_Name "$_libdir") (/zsh/zftp.so)}) (C {(_submv)} {($ VSub_Name "$_sharedir") (/functions/Zftp)}) ] spids: [639] ) spids: [635 638] ) (FuncDef name: _completion body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(-zsh-completion)}) spids: [680 684] ) ) } spids: [678] ) ] spids: [676] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Zsh completions for ") ($ VSub_Name "$name"))} spids: [688] ) ] spids: [688] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [695] ) ] spids: [695] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") (" ") ($ VSub_Name "$name") ) } spids: [701] ) ] spids: [701] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(printf)} {(SQ <"%s\\n">)} {($ VSub_Name "$_comps")}) (C {(sed)} {(-En)} { (DQ ("s|^") ($ VSub_Name "$name") (":(.*)|") (EscapedLiteralPart token: ) ("|p") ) } ) (C {(tr)} {(Lit_Other ":")} {(SQ <" ">)}) ] negated: False ) ] ) left_token: spids: [718 752] ) ) } spids: [716] ) ] spids: [714] ) (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name "$files"))}) (BraceGroup children: [ (Sentence child: (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name "$name") (" not found in ") (EscapedLiteralPart token: ) (_comps) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[777])] ) terminator: ) (Sentence child: (ControlFlow token: arg_word:{(1)}) terminator: ) ] spids: [766] ) ] op_id: Op_DPipe ) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:f) op:Equal spids:[792])] spids: [790] ) terminator: ) (ForEach iter_name: f iter_words: [{($ VSub_Name "$files")}] do_arg_iter: False body: (DoGroup children: [ (C {(_submv)} {($ VSub_Name "$_sharedir") (/functions/Completion/) ($ VSub_Name "$f")} ) ] spids: [804 814] ) spids: [800 802] ) ] spids: [673] ) spids: [669 672] ) (FuncDef name: _submv body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [828] ) ] spids: [826] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [842 847] ) } ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$path")} {(DQ ($ VSub_Name "$subpkgdir")) (/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [862 867] ) (/) } ) ] spids: [823] ) spids: [819 822] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "c666c54b05e2707e3a3cf9a87a17863792f0c89ec14f5fdc85a3064f26249cfba42a2953bc76bb90205fb87a08c203a165a5240c9fd6c489c13d8cc82ee6e979 zsh-5.4.1.tar.xz\n" ) ( "59182b99447872ded8adf0d890e9359ee47fce0b7acb2808f4308f945885fbf6d977a0917bbb5c0f21454caf3ba06ab092127732da4f84292d6ab0989a0110fe zprofile" ) ) } spids: [873] ) ] spids: [873] ) ] )