C12.0: ElyMail backend moves to Rust crates; iCloud by app password

async-imap, async-pop, mail-send, mail-parser and mail-builder replace
MailCore 2. The MailCore 2 and libetpan fetch, build and probe scripts
go. HTML bodies render as a sanitized block subset in GPUI; compose uses
the Markdown document component. OAuth client IDs come from oauth.env
(ignored) or CI secrets. The task list for C12 is rewritten in order.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-19 16:02:34 -04:00
1 parent 0d991e1c71
commit d7de5619a7
11 files changed
+52 -150

No files matched your search

-42
View File
@@ -1,42 +0,0 @@
#!/usr/bin/env bash
# Builds the pinned libetpan into engines/libetpan.
set -euo pipefail
root=$(cd "$(dirname "$0")/.." && pwd)
src=$root/reference/libetpan
prefix=$root/engines/libetpan
work=$root/engines/libetpan-src
pin=$(git -C "$src" rev-parse HEAD)
if [ "$(cat "$prefix/PIN" 2>/dev/null)" = "$pin" ] && [ -f "$prefix/lib/libetpan.a" ] &&
grep -q "^#define HAVE_OPENSSL 1" "$prefix/BUILD-config.h" 2>/dev/null &&
grep -q "^#define HAVE_JSON 1" "$prefix/BUILD-config.h" 2>/dev/null; then
echo "ok libetpan $pin"
exit 0
fi
ssl=${OPENSSL_DIR:-$(brew --prefix openssl@3)} || {
echo "build-libetpan.sh: set OPENSSL_DIR to an OpenSSL 3 prefix" >&2
exit 1
}
[ -f "$ssl/include/openssl/ssl.h" ] || {
echo "build-libetpan.sh: no OpenSSL headers under $ssl" >&2
exit 1
}
jobs=$(sysctl -n hw.ncpu 2>/dev/null || nproc)
rm -rf "$work" "$prefix"
rsync -a --exclude .git "$src/" "$work/"
cd "$work"
./autogen.sh --prefix="$prefix" --enable-static --disable-shared \
--with-openssl="$ssl" --with-json --disable-db
for feature in HAVE_OPENSSL HAVE_JSON; do
grep -q "^#define $feature 1" config.h || {
echo "build-libetpan.sh: configure left out $feature" >&2
exit 1
}
done
make -j"$jobs"
make install
cp config.h "$prefix/BUILD-config.h"
echo "$pin" >"$prefix/PIN"
echo "built libetpan $pin"
+1 -4
View File
@@ -36,7 +36,7 @@ fetch() { # name url rev [sparse paths...]
echo "fetch $name $rev"
}
fetch Ely-GPUI-Components https://git.zacharyzhang.com/ZacharyZhang-NY/Ely-GPUI-Components.git 5a53c08c844210ea80c6a92aec708e2de8ffa721
fetch Ely-GPUI-Components https://git.zacharyzhang.com/ZacharyZhang-NY/Ely-GPUI-Components.git de961eb164c1c88797ea35f0860aba9d18c95e4f
fetch zed https://github.com/zed-industries/zed.git 1a28cff4b409169bac058bca40dfbfeb7621d19b
fetch libreoffice-core https://github.com/LibreOffice/core.git 8221e31b3ac356a1623c672912a3d2b492f7e3d1 \
include/LibreOfficeKit libreofficekit desktop/source/lib desktop/inc \
@@ -45,9 +45,6 @@ fetch mupdf https://github.com/ArtifexSoftware/mupdf.git 8ad45e92f0935d3d87f1db3
git -C "$ref/mupdf" submodule update --init --depth 1 --recursive
fetch git https://github.com/git/git.git a018953688f1b10bddf91bff8747068f5f4746a4
fetch tesseract https://github.com/tesseract-ocr/tesseract.git db0ec62f81b0737fbbe184d8fea40af5738f8eef
fetch mailcore2 https://github.com/MailCore/mailcore2.git 1b48bab20b2492fa8ed3965abcbbe099d4ce9d92
git -C "$ref/mailcore2" submodule update --init --depth 1 --recursive
fetch libetpan https://github.com/dinhviethoa/libetpan.git 4d478625c4c43721191ae1bd7aed387a66c28ec0
fetch marktext https://github.com/marktext/marktext.git b29cb5621e12cedb801c1cd886d9005159feaa2e
fetch colamd https://github.com/marswaveai/ColaMD.git 5e0f3c3584bb771180afe1a4670efbaf28dee65b
fetch magpie https://github.com/yetone/magpie.git e4c8316e3fa9d73683079df3f9142561265bc1bb