#! /bin/zsh # # this file: # https://dataswamp.org/~incal/conf/.zsh/install-emacs emacs_src=https://git.savannah.gnu.org/git/emacs.git src_dir=~/src emacs_dir=${src_dir}/emacs emacs-install-prepare () { sudo apt-get -qq update sudo apt-get install build-essential debian-goodies libgccjit-10-dev sudo apt-get build-dep emacs } emacs-src-get () { cd $src_dir git clone $emacs_src } emacs-src-update () { cd $emacs_dir git fetch git merge } emacs-src-reset () { cd $emacs_dir git reset --hard git clean -d -f -x git config pull.rebase false git pull $emacs_src } emacs-install () { local reset=$1 local old_ver=$(emacs --version | head -n 1) (( ${+reset} )) && emacs-src-reset || emacs-src-update emacs-install-local local new_ver=$(emacs --version | head -n 1) echo "version: $old_ver -> $new_ver" } emacs-install-local () { cd $emacs_dir autogen.sh configure --without-all --with-x-toolkit=no --with-native-compilation make sudo make install }