summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Galazyn2021-01-11 22:29:20 +0100
committerMateusz Galazyn2021-01-11 22:29:20 +0100
commit5a378e94d516c57d39629de545b78b0f020d86a4 (patch)
tree1e33aeb40a8c7d2576580f12774ec9cf2554a102
parent1b9e3e9a772a2e95ef63f9bf69db7798aaa6d7d5 (diff)
downloadaur-5a378e94d516c57d39629de545b78b0f020d86a4.tar.gz
Update for new packaging of zsh-zim
-rw-r--r--.SRCINFO12
-rw-r--r--Dockerfile11
-rw-r--r--PKGBUILD69
-rw-r--r--zim.install7
-rw-r--r--zshrc8
5 files changed, 73 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 906ac995e80a..1472d6c8cc6a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index f01ca9ac8499..57a3cb0b7491 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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() {
diff --git a/zshrc b/zshrc
index 4b0a47a5bdcc..3037fbbede70 100644
--- a/zshrc
+++ b/zshrc
@@ -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