Remove CEF: the web content crate, ElyMark's page, their packaging, licences and tests (C14.5)

PRD and agents.md name the native route; ElyMail's body will not use
CEF or Electron. ElyMark's package carries the KaTeX fonts' OFL.

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-12 03:15:30 -04:00
1 parent 2e8379b0b1
commit 8a942e6d80
77 files changed
+105 -10718

No files matched your search

+3 -57
View File
@@ -66,7 +66,7 @@ if uses ely-lok; then
echo "bundle.sh: $binary is not code; Frameworks holds only code" >&2
exit 1
fi
done < <(find "$app/Contents/Frameworks" -type f -not -path "*/Chromium Embedded Framework.framework/*")
done < <(find "$app/Contents/Frameworks" -type f)
fi
if uses ely-pdf-engine; then
tessdata=${ELY_TESSDATA:-$root/engines/tessdata}
@@ -84,53 +84,6 @@ if [ "$slug" = ely-tree ]; then
file -b "$binary" | grep -q '^Mach-O' && inner+=("$binary")
done < <(find "$app/Contents/Resources/git" -type f -perm -111)
fi
# Web content apps carry CEF and their bundled pages.
framework=
helpers=()
if grep -q '^ely-web-content' "$root/apps/$slug/Cargo.toml"; then
cef=${ELY_CEF:-$root/engines/cef}
[ -d "$cef/Chromium Embedded Framework.framework" ] || {
echo "bundle.sh: no CEF at $cef; run scripts/fetch-cef.sh" >&2
exit 1
}
mkdir -p "$app/Contents/Frameworks"
framework="$app/Contents/Frameworks/Chromium Embedded Framework.framework"
cp -R "$cef/Chromium Embedded Framework.framework" "$framework"
case $profile in
release) cargo build --manifest-path "$root/Cargo.toml" --release -p ely-web-content --bin ely-web-helper ;;
debug) cargo build --manifest-path "$root/Cargo.toml" -p ely-web-content --bin ely-web-helper ;;
esac
# Chromium looks for these five, named after the app's binary.
for kind in "" " (GPU)" " (Renderer)" " (Plugin)" " (Alerts)"; do
helper="$slug Helper$kind"
contents="$app/Contents/Frameworks/$helper.app/Contents"
mkdir -p "$contents/MacOS"
cp "$root/target/$profile/ely-web-helper" "$contents/MacOS/$helper"
id=$(echo "${slug#ely-}.helper$kind" | tr -d '()' | tr ' ' '.' | tr 'A-Z' 'a-z')
cat >"$contents/Info.plist" <<HELPER
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key><string>$helper</string>
<key>CFBundleIdentifier</key><string>$prefix.$id</string>
<key>CFBundleName</key><string>$helper</string>
<key>CFBundlePackageType</key><string>APPL</string>
<key>CFBundleShortVersionString</key><string>$version</string>
<key>LSMinimumSystemVersion</key><string>14.0</string>
<key>LSUIElement</key><string>1</string>
</dict>
</plist>
HELPER
helpers+=("$app/Contents/Frameworks/$helper.app")
done
content=$root/engines/content/$slug
[ -f "$content/index.html" ] || {
echo "bundle.sh: no page at $content; run its scripts/build-*-content.sh" >&2
exit 1
}
cp -R "$content" "$app/Contents/Resources/content"
fi
"$root/packaging/licenses.sh" "$slug" "$app/Contents/Resources/Licenses"
cat >"$app/Contents/Info.plist" <<PLIST
<?xml version="1.0" encoding="UTF-8"?>
@@ -153,18 +106,11 @@ $("$root/packaging/macos/documents.sh" "$slug")
</plist>
PLIST
# Nested code is signed before the app that holds it.
for target in ${inner[@]+"${inner[@]}"} ${framework:+"$framework"} ${helpers[@]+"${helpers[@]}"} "$app"; do
for target in ${inner[@]+"${inner[@]}"} "$app"; do
if [ "$identity" = - ]; then
codesign --force --sign - "$target"
else
# Hardened runtime: V8 in CEF's helpers needs its entitlements.
entitled=()
case $target in
*" Helper (Renderer).app") entitled=(--entitlements "$root/packaging/macos/entitlements/renderer.plist") ;;
*" Helper (GPU).app") entitled=(--entitlements "$root/packaging/macos/entitlements/gpu.plist") ;;
*" Helper (Plugin).app") entitled=(--entitlements "$root/packaging/macos/entitlements/plugin.plist") ;;
esac
codesign --force --options runtime --timestamp ${entitled[@]+"${entitled[@]}"} --sign "$identity" "$target"
codesign --force --options runtime --timestamp --sign "$identity" "$target"
fi
done
echo "$app"
-7
View File
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key><true/>
</dict>
</plist>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key><true/>
<key>com.apple.security.cs.disable-library-validation</key><true/>
</dict>
</plist>
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key><true/>
</dict>
</plist>