#!/bin/sh -e # needs converters/qprint # mutt: macro pager,attach ^S "cat > /tmp/muttpatch.diff~/.mutt/scripts/portpatch2.sh /tmp/muttpatch.diff" clear printf '\n---------------------------------------------------------------------\n' grep -E 'Subject: |^Index|^RCS|^diff --git|^file +|^[-+]{3} ' "${1}" printf '---------------------------------------------------------------------\n\n' printf "Apply patch on path? " read -r _path _path=$(dev-dirs $_path) print "Using: $_path" printf "Fix quoted-printable mangeled patch? [y/N]: " read -r _qprint case ${_qprint} in [y|Y]) _catcmd="qprint -d"; ;; *) _catcmd="cat"; ;; esac printf "Strip? [0]: " read -r _strip echo "DIR: $(pwd)" echo "CMD: ${_catcmd} "${1}" | doas -u sdk patch -E -pp${_strip:=0} -d ${_path}" sleep 1 && print 3 sleep 1 && print 2 sleep 1 && print 1 ${_catcmd} "${1}" | doas -u sdk patch -E -p${_strip:=0} -d ${_path} cd ${_path} && doas su