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:
1 parent
2e8379b0b1
commit
8a942e6d80
77 files changed
+105
-10718
No files matched your search
@@ -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"
|
||||
@@ -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>
|
||||
Reference in new issue
Block a user