Merge pull request #238 from l0ng-ai/chore/dedupe-resvg-component

chore: finish the resvg dedupe — bump gpui-component to 0.47
This commit is contained in:
l0ng-ai
2026-07-28 12:55:14 +08:00
committed by GitHub
3 changed files with 41 additions and 174 deletions
+7 -2
View File
@@ -39,8 +39,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **One fewer duplicate SVG stack in the build** — the resvg 0.47 bump (#227)
left the gpui fork on 0.45, so the tree compiled two resvg/usvg/tiny-skia
stacks. The fork now pins 0.47 too, re-unifying its stack with the one tty7
uses for the tray icon. gpui-component still carries its own 0.45.1 until
that fork catches up. (#237)
uses for the tray icon. (#237)
- **The last duplicate SVG stack is gone** — after #227 and #237 unified tty7
and the gpui fork on resvg 0.47, the gpui-component fork still declared its
own `resvg = "0.45.1"`, keeping a legacy resvg/usvg/tiny-skia 0.45/0.11
stack in the tree. That fork now pins 0.47 as well, so the whole build
compiles a single resvg stack. (#238)
### Fixed
Generated
+31 -166
View File
@@ -817,7 +817,7 @@ dependencies = [
"bitflags 2.13.0",
"cexpr",
"clang-sys",
"itertools 0.11.0",
"itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
@@ -2022,7 +2022,7 @@ version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a"
dependencies = [
"libloading 0.7.4",
"libloading 0.8.9",
]
[[package]]
@@ -2857,16 +2857,6 @@ dependencies = [
"polyval",
]
[[package]]
name = "gif"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b"
dependencies = [
"color_quant",
"weezl",
]
[[package]]
name = "gif"
version = "0.14.2"
@@ -3070,7 +3060,7 @@ dependencies = [
"log",
"presser",
"thiserror 2.0.18",
"windows 0.58.0",
"windows 0.62.2",
]
[[package]]
@@ -3151,7 +3141,7 @@ dependencies = [
"raw-window-handle",
"refineable",
"regex",
"resvg 0.47.0",
"resvg",
"scheduler",
"schemars",
"seahash",
@@ -3167,7 +3157,7 @@ dependencies = [
"thiserror 2.0.18",
"ttf-parser",
"url",
"usvg 0.47.0",
"usvg",
"util_macros",
"uuid",
"waker-fn",
@@ -3180,7 +3170,7 @@ dependencies = [
[[package]]
name = "gpui-component"
version = "0.5.2"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5"
dependencies = [
"aho-corasick",
"anyhow",
@@ -3209,7 +3199,7 @@ dependencies = [
"paste",
"raw-window-handle",
"regex",
"resvg 0.45.1",
"resvg",
"ropey",
"rust-i18n",
"schemars",
@@ -3263,7 +3253,7 @@ dependencies = [
[[package]]
name = "gpui-component-assets"
version = "0.5.1"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5"
dependencies = [
"anyhow",
"gpui",
@@ -3277,7 +3267,7 @@ dependencies = [
[[package]]
name = "gpui-component-macros"
version = "0.5.1"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e"
source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5"
dependencies = [
"proc-macro2",
"quote",
@@ -3918,7 +3908,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
"windows-core 0.58.0",
"windows-core 0.62.2",
]
[[package]]
@@ -4059,18 +4049,18 @@ dependencies = [
"byteorder-lite",
"color_quant",
"exr",
"gif 0.14.2",
"gif",
"image-webp",
"moxcms",
"num-traits",
"png 0.18.1",
"png",
"qoi",
"ravif",
"rayon",
"rgb",
"tiff",
"zune-core 0.5.1",
"zune-jpeg 0.5.15",
"zune-core",
"zune-jpeg",
]
[[package]]
@@ -4083,12 +4073,6 @@ dependencies = [
"quick-error 2.0.1",
]
[[package]]
name = "imagesize"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285"
[[package]]
name = "imagesize"
version = "0.14.0"
@@ -4516,17 +4500,6 @@ dependencies = [
"zbus",
]
[[package]]
name = "kurbo"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62"
dependencies = [
"arrayvec",
"euclid",
"smallvec",
]
[[package]]
name = "kurbo"
version = "0.13.1"
@@ -5128,7 +5101,7 @@ dependencies = [
"objc2-core-foundation",
"objc2-foundation 0.3.2",
"once_cell",
"png 0.18.1",
"png",
"thiserror 2.0.18",
"windows-sys 0.61.2",
]
@@ -6277,19 +6250,6 @@ dependencies = [
"time",
]
[[package]]
name = "png"
version = "0.17.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
"fdeflate",
"flate2",
"miniz_oxide",
]
[[package]]
name = "png"
version = "0.18.1"
@@ -7106,38 +7066,21 @@ dependencies = [
"zed-reqwest",
]
[[package]]
name = "resvg"
version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43"
dependencies = [
"gif 0.13.3",
"image-webp",
"log",
"pico-args",
"rgb",
"svgtypes 0.15.3",
"tiny-skia 0.11.4",
"usvg 0.45.1",
"zune-jpeg 0.4.21",
]
[[package]]
name = "resvg"
version = "0.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81"
dependencies = [
"gif 0.14.2",
"gif",
"image-webp",
"log",
"pico-args",
"rgb",
"svgtypes 0.16.1",
"tiny-skia 0.12.0",
"usvg 0.47.0",
"zune-jpeg 0.5.15",
"svgtypes",
"tiny-skia",
"usvg",
"zune-jpeg",
]
[[package]]
@@ -8542,23 +8485,13 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb"
[[package]]
name = "svgtypes"
version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc"
dependencies = [
"kurbo 0.11.3",
"siphasher",
]
[[package]]
name = "svgtypes"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d"
dependencies = [
"kurbo 0.13.1",
"kurbo",
"siphasher",
]
@@ -8841,7 +8774,7 @@ dependencies = [
"half",
"quick-error 2.0.1",
"weezl",
"zune-jpeg 0.5.15",
"zune-jpeg",
]
[[package]]
@@ -8883,21 +8816,6 @@ dependencies = [
"crunchy",
]
[[package]]
name = "tiny-skia"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
dependencies = [
"arrayref",
"arrayvec",
"bytemuck",
"cfg-if",
"log",
"png 0.17.16",
"tiny-skia-path 0.11.4",
]
[[package]]
name = "tiny-skia"
version = "0.12.0"
@@ -8909,19 +8827,8 @@ dependencies = [
"bytemuck",
"cfg-if",
"log",
"png 0.18.1",
"tiny-skia-path 0.12.0",
]
[[package]]
name = "tiny-skia-path"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
dependencies = [
"arrayref",
"bytemuck",
"strict-num",
"png",
"tiny-skia-path",
]
[[package]]
@@ -9238,7 +9145,7 @@ dependencies = [
"objc2-core-graphics",
"objc2-foundation 0.3.2",
"once_cell",
"png 0.18.1",
"png",
"thiserror 2.0.18",
"windows-sys 0.61.2",
]
@@ -9659,7 +9566,7 @@ dependencies = [
"portable-pty",
"regex",
"reqwest_client",
"resvg 0.47.0",
"resvg",
"russh",
"russh-sftp",
"serde",
@@ -9822,33 +9729,6 @@ dependencies = [
"serde",
]
[[package]]
name = "usvg"
version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef"
dependencies = [
"base64",
"data-url",
"flate2",
"fontdb",
"imagesize 0.13.0",
"kurbo 0.11.3",
"log",
"pico-args",
"roxmltree 0.20.0",
"rustybuzz",
"simplecss",
"siphasher",
"strict-num",
"svgtypes 0.15.3",
"tiny-skia-path 0.11.4",
"unicode-bidi",
"unicode-script",
"unicode-vo",
"xmlwriter",
]
[[package]]
name = "usvg"
version = "0.47.0"
@@ -9859,8 +9739,8 @@ dependencies = [
"data-url",
"flate2",
"fontdb",
"imagesize 0.14.0",
"kurbo 0.13.1",
"imagesize",
"kurbo",
"log",
"pico-args",
"roxmltree 0.21.1",
@@ -9868,8 +9748,8 @@ dependencies = [
"simplecss",
"siphasher",
"strict-num",
"svgtypes 0.16.1",
"tiny-skia-path 0.12.0",
"svgtypes",
"tiny-skia-path",
"ttf-parser",
"unicode-bidi",
"unicode-script",
@@ -11795,12 +11675,6 @@ name = "ztracing_macro"
version = "0.1.0"
source = "git+https://github.com/l0ng-ai/zed?branch=tty7#3aac3ef3a1411d539c32610ed29e399ef1d3b0ae"
[[package]]
name = "zune-core"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-core"
version = "0.5.1"
@@ -11816,22 +11690,13 @@ dependencies = [
"simd-adler32",
]
[[package]]
name = "zune-jpeg"
version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713"
dependencies = [
"zune-core 0.4.12",
]
[[package]]
name = "zune-jpeg"
version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296"
dependencies = [
"zune-core 0.5.1",
"zune-core",
]
[[package]]
+3 -6
View File
@@ -152,12 +152,9 @@ memchr = "2"
# System tray / menu bar status item (`ui::tray`). Rasterizes the bundled SVG
# logo into the tray bitmap at runtime — gpui's own SVG path only yields a
# tinted alpha mask, not raw RGBA. The gpui fork pins the same 0.47, so this
# shares gpui's resvg/usvg/tiny-skia stack. gpui-component still declares its
# own `resvg = "0.45.1"` (semver-incompatible with 0.47), so one legacy 0.45
# stack remains until that fork catches up (no type conflicts — only
# `image::RgbaImage` crosses the boundary); default features off drops the
# text/font machinery our icon SVGs don't use.
# tinted alpha mask, not raw RGBA. The gpui and gpui-component forks both pin
# the same 0.47, so the whole tree shares a single resvg/usvg/tiny-skia stack;
# default features off drops the text/font machinery our icon SVGs don't use.
resvg = { version = "0.47", default-features = false }
# The tray icon itself, macOS + Windows: tauri's `tray-icon` (NSStatusItem /