Skip to content

Conversation

@mattleibow
Copy link

@mattleibow mattleibow commented Jan 27, 2026

Summary

Comment out 18 dependencies that SkiaSharp doesn't use to reduce attack surface and sync time.

Dependencies Removed

Dependency Reason
abseil-cpp Dawn/WebGPU only (disabled)
egl-registry No BUILD.gn references
highway libjxl only (disabled)
imgui Viewer tool only
libavif skia_use_libavif=false
libgav1 libavif dependency
libgrapheme skia_use_libgrapheme=false
libjxl skia_use_libjxl_decode=false
libyuv libavif dependency
microhttpd skiaserve tool only
oboe audioplayer/viewer only
opengl-registry No BUILD.gn references
spirv-headers spirv-tools dependency (dev builds)
spirv-tools is_skia_dev_build only
vello skia_enable_vello_shaders=false
vulkan-deps Meta-repo, not directly used
vulkan-tools Debugging tools only
vulkan-utility-libraries Debugging only

Dependencies Retained (15)

brotli, d3d12allocator, dng_sdk, expat, freetype, harfbuzz, libjpeg-turbo, libpng, libwebp, piex, spirv-cross, vulkan-headers, vulkanmemoryallocator, wuffs, zlib

Verification

Local builds verified on:

  • ✅ macOS (arm64)
  • ✅ iOS (all architectures)
  • ✅ Android (arm64)

SkiaSharp PR

mono/SkiaSharp#3463

Comment out 18 dependencies that SkiaSharp doesn't use:
- abseil-cpp (Dawn/WebGPU only)
- egl-registry (no BUILD.gn refs)
- highway (libjxl only, disabled)
- imgui (viewer tool only)
- libavif (skia_use_libavif=false)
- libgav1 (libavif dependency)
- libgrapheme (skia_use_libgrapheme=false)
- libjxl (skia_use_libjxl_decode=false)
- libyuv (libavif dependency)
- microhttpd (skiaserve tool only)
- oboe (audioplayer/viewer only)
- opengl-registry (no BUILD.gn refs)
- spirv-headers (spirv-tools dependency, dev builds)
- spirv-tools (is_skia_dev_build only)
- vello (skia_enable_vello_shaders=false)
- vulkan-deps (meta-repo, not directly used)
- vulkan-tools (debugging tools only)
- vulkan-utility-libraries (debugging only)

This reduces attack surface and sync time for SkiaSharp builds.

Verified builds pass on macOS, iOS, and Android.
mattleibow added a commit to mono/SkiaSharp that referenced this pull request Jan 27, 2026
## Changes

### Documentation
- Add documentation/dependencies.md with comprehensive dependency reference
  - Security-relevant dependencies (10)
  - GPU/graphics dependencies
  - Unused dependencies with reasons
  - Platform-specific usage
  - cgmanifest.json mapping

### Skills
- Update security-audit skill to reference central docs
- Update native-dependency-update skill to reference central docs

### Submodule
- Update externals/skia to include DEPS cleanup (mono/skia#164)
  - Removes 18 unused dependencies
  - Retains 15 active dependencies

## Verification

Local builds verified on macOS, iOS, and Android.
@mattleibow mattleibow merged commit acda5e9 into skiasharp Jan 27, 2026
1 check passed
@mattleibow mattleibow deleted the dev/remove-unused-deps branch January 27, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants