diff options
author | Mateusz Galazyn | 2021-01-11 22:29:20 +0100 |
---|---|---|
committer | Mateusz Galazyn | 2021-01-11 22:29:20 +0100 |
commit | 5a378e94d516c57d39629de545b78b0f020d86a4 (patch) | |
tree | 1e33aeb40a8c7d2576580f12774ec9cf2554a102 | |
parent | 1b9e3e9a772a2e95ef63f9bf69db7798aaa6d7d5 (diff) | |
download | aur-5a378e94d516c57d39629de545b78b0f020d86a4.tar.gz |
Update for new packaging of zsh-zim
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | Dockerfile | 11 | ||||
-rw-r--r-- | PKGBUILD | 69 | ||||
-rw-r--r-- | zim.install | 7 | ||||
-rw-r--r-- | zshrc | 8 |
5 files changed, 73 insertions, 34 deletions
@@ -1,8 +1,6 @@ -# Generated by mksrcinfo v8 -# Mon Dec 31 10:45:51 UTC 2018 pkgbase = zsh-zim-git pkgdesc = ZIM - Zsh IMproved - pkgver = r458.1ab110c + pkgver = r547.3e06f0a pkgrel = 1 url = https://github.com/zimfw/zimfw install = zim.install @@ -17,11 +15,13 @@ pkgbase = zsh-zim-git backup = etc/zsh/zimrc backup = etc/zsh/zshrc source = git://github.com/zimfw/zimfw.git + source = git://github.com/zimfw/install.git source = zim.install source = zshrc - sha384sums = SKIP - sha384sums = ba9906f5cad124b1a419008ff5f98ca31414056be7a89d94ecf679a170765208d244b2d41ce85a2dba6a5aa60fc7f299 - sha384sums = f9369671dd4b4e116a6b1d6769482f148dc062ec9ff1cb0ec70f0c0ee91a62efc9acdae0193a299fab941e770f377d74 + md5sums = SKIP + md5sums = SKIP + md5sums = 37cfb43655ba975a492f5a8a0d436b6e + md5sums = ccd089796e6c0cf8e3b7170283b5a724 pkgname = zsh-zim-git diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000000..7b3433001386 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM registry.hub.docker.com/library/archlinux:latest +RUN pacman -Sy zsh git rsync sudo fakeroot --noconfirm +RUN useradd -ms /usr/bin/zsh work && \ + usermod -aG wheel work +RUN echo '%wheel ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers +RUN mkdir -p /home/work/ && touch /home/work/.zshrc +WORKDIR /home/work/ +COPY zsh-zim-git-* /home/work +RUN chown -R work:work /home/work/ +USER work +CMD /usr/bin/zsh @@ -1,7 +1,7 @@ -# Contributor: Tatsuyuki Ishi <ishitatsuyuki at gmail dot com> +# Contributor: Mateusz Galazyn <carbolymer at gmail.com> pkgrel=1 -pkgver=r458.1ab110c +pkgver=r547.3e06f0a pkgname=zsh-zim-git pkgdesc="ZIM - Zsh IMproved" url="https://github.com/zimfw/zimfw" @@ -10,36 +10,61 @@ license=('MIT') depends=('zsh') makedepends=('git' 'rsync') optdepends=('otf-powerline-symbols-git: for eriner prompt') -source=('git://github.com/zimfw/zimfw.git' 'zim.install' 'zshrc') +source=('git://github.com/zimfw/zimfw.git' + 'git://github.com/zimfw/install.git' + 'zim.install' + 'zshrc') +md5sums=('SKIP' + 'SKIP' + '37cfb43655ba975a492f5a8a0d436b6e' + 'ccd089796e6c0cf8e3b7170283b5a724') options=('!strip') install='zim.install' -sha384sums=('SKIP' - 'ba9906f5cad124b1a419008ff5f98ca31414056be7a89d94ecf679a170765208d244b2d41ce85a2dba6a5aa60fc7f299' - 'f9369671dd4b4e116a6b1d6769482f148dc062ec9ff1cb0ec70f0c0ee91a62efc9acdae0193a299fab941e770f377d74') _gitname='zimfw' backup=('etc/zsh/zlogin' 'etc/zsh/zimrc' 'etc/zsh/zshrc') pkgver() { - cd "$srcdir/$_gitname" - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + cd "$srcdir/$_gitname" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } prepare() { - cd $srcdir/$_gitname - git submodule update --init --recursive + cd $srcdir/$_gitname + git submodule update --init --recursive } package() { - mkdir -p $pkgdir/usr/lib/zim - rsync -ar --exclude=".git*" $srcdir/$_gitname/ $pkgdir/usr/lib/zim - cp $srcdir/zshrc $pkgdir/usr/lib/zim/templates/zshrc - - mkdir -p $pkgdir/etc/zsh - - for entry in ${backup[@]}; do - rcfile=$(basename $entry) - if [ -f $srcdir/$_gitname/templates/$rcfile ]; then - echo "source /usr/lib/zim/templates/$rcfile" >> "$pkgdir/etc/zsh/$rcfile" - fi - done + ZIM_TPL_DIR="${pkgdir}/usr/lib/zim/templates" + mkdir -p $ZIM_TPL_DIR + + rcfiles=('zshenv' 'zshrc' 'zlogin' 'zimrc') + for entry in "${rcfiles[@]}"; do + cp -L "${srcdir}/install/src/templates/${entry}" $ZIM_TPL_DIR + done + cp ${srcdir}/$_gitname/zimfw.zsh ${pkgdir}/usr/lib/zim/ + + # zimfw.zsh generates hardcoded reference to .zimrc, so for packaging purpose we fake it + ( cd $ZIM_TPL_DIR ; ln -s ./zimrc .zimrc ) + export ZDOTDIR=$ZIM_TPL_DIR + export ZIM_HOME=${pkgdir}/usr/lib/zim + zsh ${ZIM_HOME}/zimfw.zsh install + rm "${ZIM_TPL_DIR}/.zimrc" + + # Prepare /etc/zsh/ contents + mkdir -p $pkgdir/etc/zsh + echo "source /usr/lib/zim/templates/zlogin" >> "$pkgdir/etc/zsh/zlogin" + cp -f $ZIM_TPL_DIR/zimrc $pkgdir/etc/zsh/zimrc + cp -f zshrc "$pkgdir/etc/zsh/zshrc" + + # patch & recompile zwc file with hardcoded paths + # assume that you're not running makepkg in directory with '+' in its name + patching=('login_init.zsh' 'init.zsh') + for entry in "${patching[@]}"; do + echo "Patching build paths occurrence in: ${entry}" + sed -i "s+${pkgdir}++g" "${ZIM_HOME}/${entry}" + done + find ${ZIM_HOME} -iname "*.old" -type f -exec rm -f \{\} \; + find ${ZIM_HOME} -iname "*.zwc" -type f -exec rm -f \{\} \; } + + diff --git a/zim.install b/zim.install index 0e04de43a0eb..9b6695f9aae9 100644 --- a/zim.install +++ b/zim.install @@ -1,10 +1,11 @@ #!/bin/bash post_install() { - compile_scripts + [[ -f ~root/.zimrc ]] || ln -s /etc/zsh/zimrc ~root/.zimrc + compile_scripts echo echo "Zim is enabled for all users by default." - echo "To change that, edit /etc/zsh/zshrc file." + echo "~/.zimrc was symlinked to /etc/zsh/zimrc for root (if it was not present)" echo "Global settings reside in the /etc/zsh/ directory." echo "To personalize Zsh and zim, edit your local ~/.zshrc and ~/.zimrc files." echo "A user can also have a custom, overriding Zim installation in ~/.zim/" @@ -20,7 +21,7 @@ post_remove() { } compile_scripts() { - zsh -c 'source /usr/lib/zim/templates/zshrc; source /usr/lib/zim/templates/zlogin;' + zsh -c 'export ZIM_HOME=/usr/lib/zim; source /etc/zsh/zshrc; source /usr/lib/zim/templates/zlogin;' } remove_compiled_scripts() { @@ -4,12 +4,14 @@ # User configuration sourced by interactive shells # -# Change default zim location +# Change default zim location export ZIM_HOME=/usr/lib/zim +# Output is suppressed in the commands below to prevent spewing out permission errors. +# When zim tries to upgrade itself when ran as user w/o writing rights to $ZIM_HOME. # Source global config -source /etc/zsh/zimrc +source ${ZIM_HOME}/templates/zshrc &>/dev/null # Source zim -source ${ZIM_HOME}/init.zsh +source ${ZIM_HOME}/init.zsh &>/dev/null |