aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2016-09-18 16:38:06 +0200
committerJakub Jirutka <jakub@jirutka.cz>2016-09-18 16:46:07 +0200
commit6352cbf54c90c66f9b9059858038fc6e314acf79 (patch)
tree0cabefe59303739947a912ee4d72f3097db3d007 /main
parente25b90eb3e6b19444914f91906b2b3aa90abb0c4 (diff)
downloadaports-6352cbf54c90c66f9b9059858038fc6e314acf79.tar.bz2
aports-6352cbf54c90c66f9b9059858038fc6e314acf79.tar.xz
main/zsh: remove -completion subpkg, clean-up completions
Diffstat (limited to 'main')
-rw-r--r--main/zsh/APKBUILD75
-rw-r--r--main/zsh/zsh.post-upgrade7
2 files changed, 60 insertions, 22 deletions
diff --git a/main/zsh/APKBUILD b/main/zsh/APKBUILD
index 8238903c67..db8bcd3764 100644
--- a/main/zsh/APKBUILD
+++ b/main/zsh/APKBUILD
@@ -1,8 +1,9 @@
# Contributor: <kalonji@gmail.com>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zsh
pkgver=5.2
-pkgrel=2
+pkgrel=3
pkgdesc="A very advanced and programmable command interpreter (shell)"
url="http://www.zsh.org/"
arch="all"
@@ -15,22 +16,57 @@ source="http://www.zsh.org/pub/$pkgname-$pkgver.tar.xz
fix-zle-segfault.patch
fix-oom-fatal-error.patch
fix-vcs_info.patch"
-subpackages="$pkgname-doc $pkgname-calendar $pkgname-completion $pkgname-vcs
- $pkgname-zftp"
+subpackages="$pkgname-doc $pkgname-calendar $pkgname-vcs $pkgname-zftp"
builddir="$srcdir/$pkgname-$pkgver"
_libdir="usr/lib/zsh/$pkgver"
_sharedir="usr/share/zsh/$pkgver"
+# Move some bigger completion files to subpackages.
+_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; do
+ subpackages="$subpackages ${_i%%:*}-zsh-completion:_completion"
+done
+
prepare() {
cd "$builddir"
default_prepare || return 1
update_config_sub || return 1
- # Remove completions that are useless on Alpine.
+ # 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
}
build() {
@@ -73,19 +109,6 @@ calendar() {
_submv $_sharedir/functions/Calendar
}
-completion() {
- pkgdesc="Base completions for ZSH"
- arch="noarch"
- depends="$pkgname"
- local destdir="$subpkgdir/$_sharedir/functions/Completion"
-
- cd "$pkgdir"
-
- mkdir -p "$destdir"
- find $_sharedir/functions/Completion/* -type d -prune \
- -exec mv {} "$destdir"/ +
-}
-
vcs() {
pkgdesc="Version Control Information module for ZSH (vcs_info)"
arch="noarch"
@@ -102,10 +125,26 @@ zftp() {
_submv $_sharedir/functions/Zftp
}
+_completion() {
+ local name="${subpkgname%-zsh-completion}"
+ pkgdesc="Zsh completions for $name"
+ arch="noarch"
+ depends="$pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel $name"
+
+ local files="$(printf '%s\n' $_comps \
+ | sed -En "s|^$name:(.*)|\1|p" | tr : ' ')"
+ test -n "$files" || { echo "$name not found in \$_comps" >&2; return 1; }
+
+ local f; for f in $files; do
+ _submv $_sharedir/functions/Completion/$f || return 1
+ done
+}
+
_submv() {
local path="$1"
mkdir -p "$subpkgdir"/${path%/*}
- mv "$pkgdir"/$path "$subpkgdir"/$path
+ mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
}
md5sums="afe96fde08b70e23c1cab1ca7a68fb34 zsh-5.2.tar.xz
diff --git a/main/zsh/zsh.post-upgrade b/main/zsh/zsh.post-upgrade
index ebc666054a..1b42f82581 100644
--- a/main/zsh/zsh.post-upgrade
+++ b/main/zsh/zsh.post-upgrade
@@ -9,10 +9,9 @@ if [ "$(apk version -t "$ver_old" "5.2-r2")" = "<" ]; then
cat <<-EOF
*
* Some modules has been moved into subpackages:
- * zsh-calendar calendar function system
- * zsh-completion completion functions
- * zsh-vcs version control information (vcs_info)
- * zsh-zftp zftp function system
+ * zsh-calendar calendar function system
+ * zsh-vcs version control information (vcs_info)
+ * zsh-zftp zftp function system
*
EOF
fi