bin/setup-neomutt

Thu, 08 Jul 2021 12:59:19 -0500

author
Meredith Howard <mhoward@roomag.org>
date
Thu, 08 Jul 2021 12:59:19 -0500
changeset 923
1bb170fcd13b
parent 715
e5da1bdb72b6
permissions
-rwxr-xr-x

cursed: gopls ignores structured or namespaced config, only the final key name matters

#!/bin/sh
set -eu

case ${1:-} in *help|-h)
  exec perldoc -T $0;;
esac

cd
mkdir -p sandbox

if [ ! -d sandbox/neomutt ]; then
  git clone --depth 1 https://github.com/neomutt/neomutt.git sandbox/neomutt
else
  make -C sandbox/neomutt clean >/dev/null 2>&1 || true
  git -C sandbox/neomutt pull
fi

cd sandbox/neomutt

case "$(uname -s)" in
  Darwin)
    CONFIGURE_OPTIONS='--with-ssl=/opt/local --with-gpgme=/opt/local'
    export EXTRA_CFLAGS="-iquote $(pwd)"
    ;;
  *)
    CONFIGURE_OPTIONS=''
    ;;
esac

autoreconf -i --force || true

./configure \
 --with-mailpath=/var/mail \
 --ssl \
 --sasl \
 --lmdb \
 --gpgme \
 $CONFIGURE_OPTIONS \
 --disable-doc

make -s -j3

cd ~/bin
for BIN in neomutt pgpewrap; do
  cp ../sandbox/neomutt/$BIN .
done
ln -sf neomutt mutt

:<<=cut
=head1 NAME

setup-neomutt - Clone/update and build neomutt

=head1 DESCRIPTION

Run to do the above, incl. copying binaries into C<~/bin> after the neomutt
build.

=head1 REQUIREMENTS

=head2 Debian

  apt install autoconf links pandoc gnupg2 gpgsm urlscan libncursesw5-dev \
    libssl-dev libsasl2-dev liblmdb-dev libgpgme11-dev

=head2 Cygwin / Babun

 pact install autoconf links libncursesw-devel openssl-devel libsasl2-devel \
   liblmdb-devel libgpgme-devel

gpg2 isn't available in cygwin, but there is a windows build.  using it with
cygwin paths requires a wrapper though.

=cut

mercurial