X-Git-Url: https://iankelling.org/git/?p=buildscripts;a=blobdiff_plain;f=kitty;fp=kitty;h=ab611e6291bb235de6dbad695f987f7613960a18;hp=0000000000000000000000000000000000000000;hb=6d5364acaf732814110b7ab98ef1d266276f64ee;hpb=f22fdf4a151ff0dcbbf1902977559eebe18613ea diff --git a/kitty b/kitty new file mode 100755 index 0000000..ab611e6 --- /dev/null +++ b/kitty @@ -0,0 +1,64 @@ +#!/bin/bash + +source /a/bin/errhandle/err + +if [[ -s ~/.bashrc ]]; then . ~/.bashrc; fi + +rebuild=false +case $1 in + -r) rebuild=true ;; +esac + +# https://sw.kovidgoyal.net/kitty/build/ +deps=( + libdbus-1-dev + libxcursor-dev + libxrandr-dev + libxi-dev + libxinerama-dev + libgl1-mesa-dev + libxkbcommon-x11-dev + libfontconfig-dev + libx11-xcb-dev + liblcms2-dev + libpython3-dev + librsync-dev +) + +pi ${deps[@]} + +cd /a/opt/kitty +rev=$(cat $last_build 2>/dev/null) ||: +head=$(git rev-parse HEAD) +if ! $recompile && ! $bootstrap && [[ $rev == "$head" ]]; then + : +fi + + +# built it on one machine, the others it dies with the error illegal +# instruction. building is pretty quick, so just detect if our version +# works, and if not, rebuild and install. +# I had an idea to test the failure like so: +# timeout 5 kitty /bin/true, but that doesn't work over ssh +if ! $rebuild && ! /bin/true; then + rebuild=true +fi + +if $rebuild; then + s mkdir -p /usr/local/src/kitty + s mount -o bind /a/opt/kitty /usr/local/src/kitty + + s install -o zu -g zu -d /usr/local/src/kitty + s chown -hR zu.zu /usr/local/src/kitty + cd /usr/local/src/kitty + m sudo -u zu firejail --read-write=/usr/local/src/kitty --profile=makekitty make clean + m sudo -u zu firejail --read-write=/usr/local/src/kitty --profile=makekitty make + cd / + s umount /usr/local/src/kitty + s chown -hR iank.iank /a/opt/kitty +fi + +cd /a/opt/kitty +s rsync -ar --chown root:root --delete __main__.py kitty logo kittens /usr/local/src/kitty +s rsync -ar --chown root:root ./terminfo/x/xterm-kitty /usr/share/terminfo/x/xterm-kitty +s ln -sf -T /usr/local/src/kitty/kitty/launcher/kitty /usr/local/bin/kitty