Rename libservo to servo (#43141)

As discussed on zulip we would like to rename `libservo` to `servo`
(again) before a future crates.io release.
Servo is a library, so the `lib` prefix is somewhat redundant. We
already renamed the binary of ServoShell to `servoshell`, to reduce
confusion of users of what servo is.

Note: This PR does not touch all occurrences of `libservo`. Specifically
CI job names remain untouched, since the risk of breaking something is
higher here, harder to test for and the name not user facing.

Testing: CI testing of this change should give us good confidence.
Manual testing of `./mach doc` and `./mach build` showed no issues on
macos. [Full try
run](https://github.com/jschwe/servo/actions/runs/22909562747)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This commit is contained in:
Jonathan Schwender
2026-03-10 21:55:14 +01:00
committed by GitHub
parent 4ef22ed227
commit e23f052412
12 changed files with 106 additions and 106 deletions

View File

@@ -12,10 +12,10 @@ runs:
id: parse_version
shell: bash
run: |
msrv=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[] | select(.name == "libservo") | .rust_version')
msrv=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[] | select(.name == "servo") | .rust_version')
if [[ "${msrv}" == "null" ]]; then
echo "Failed to determine MSRV of libservo"
echo "Failed to determine MSRV of servo"
exit 1
fi
echo "libservo has a minimum supported Rust version of ${msrv}."
echo "servo has a minimum supported Rust version of ${msrv}."
echo "LIBSERVO_RUST_VERSION=${msrv}" >> "$GITHUB_OUTPUT"

View File

@@ -288,7 +288,7 @@ jobs:
# We can remove this after upgrading to Rust 1.90, where lld will be the default.
RUSTFLAGS: "-C link-arg=-fuse-ld=lld"
run: |
cargo +${{ steps.msrv.outputs.rust_version }} build -p libservo --locked --all-targets
cargo +${{ steps.msrv.outputs.rust_version }} build -p servo --locked --all-targets
# Runs the underlying job (“workload”) on a self-hosted runner if available.
runner-select-coverage:

View File

@@ -249,4 +249,4 @@ jobs:
toolchain: ${{ steps.msrv.outputs.rust_version }}
- name: Compile libservo with MSRV
run: |
cargo +${{ steps.msrv.outputs.rust_version }} build -p libservo --locked --all-targets
cargo +${{ steps.msrv.outputs.rust_version }} build -p servo --locked --all-targets

View File

@@ -257,4 +257,4 @@ jobs:
toolchain: ${{ steps.msrv.outputs.rust_version }}
- name: Compile libservo with MSRV
run: |
cargo +${{ steps.msrv.outputs.rust_version }} build -p libservo --locked --all-targets
cargo +${{ steps.msrv.outputs.rust_version }} build -p servo --locked --all-targets

View File

@@ -266,4 +266,4 @@ jobs:
toolchain: ${{ steps.msrv.outputs.rust_version }}
- name: Compile libservo with MSRV
run: |
cargo +${{ steps.msrv.outputs.rust_version }} build -p libservo --locked --all-targets
cargo +${{ steps.msrv.outputs.rust_version }} build -p servo --locked --all-targets

148
Cargo.lock generated
View File

@@ -4676,79 +4676,6 @@ dependencies = [
"redox_syscall 0.7.0",
]
[[package]]
name = "libservo"
version = "0.0.1"
dependencies = [
"accesskit",
"arboard",
"bitflags 2.11.0",
"crossbeam-channel",
"dpi",
"env_logger",
"euclid",
"gaol",
"gstreamer",
"http 1.4.0",
"http-body-util",
"hyper 1.8.1",
"image",
"ipc-channel",
"keyboard-types",
"libservo",
"log",
"mozangle",
"parking_lot",
"rustc-hash 2.1.1",
"rustls",
"serde",
"servo-allocator",
"servo-background-hang-monitor",
"servo-base",
"servo-bluetooth",
"servo-bluetooth-traits",
"servo-canvas-traits",
"servo-config",
"servo-constellation",
"servo-constellation-traits",
"servo-devtools",
"servo-devtools-traits",
"servo-embedder-traits",
"servo-fonts",
"servo-geometry",
"servo-layout",
"servo-layout-api",
"servo-media",
"servo-media-dummy",
"servo-media-gstreamer",
"servo-media-thread",
"servo-net",
"servo-net-traits",
"servo-paint",
"servo-paint-api",
"servo-profile",
"servo-profile-traits",
"servo-script",
"servo-script-traits",
"servo-storage",
"servo-storage-traits",
"servo-tracing",
"servo-url",
"servo-webgl",
"servo-webgpu",
"servo-webxr",
"servo-webxr-api",
"stylo",
"stylo_traits",
"surfman",
"tokio",
"tracing",
"url",
"webrender",
"webrender_api",
"winit",
]
[[package]]
name = "libsqlite3-sys"
version = "0.35.0"
@@ -7348,6 +7275,79 @@ dependencies = [
"serde",
]
[[package]]
name = "servo"
version = "0.0.1"
dependencies = [
"accesskit",
"arboard",
"bitflags 2.11.0",
"crossbeam-channel",
"dpi",
"env_logger",
"euclid",
"gaol",
"gstreamer",
"http 1.4.0",
"http-body-util",
"hyper 1.8.1",
"image",
"ipc-channel",
"keyboard-types",
"log",
"mozangle",
"parking_lot",
"rustc-hash 2.1.1",
"rustls",
"serde",
"servo",
"servo-allocator",
"servo-background-hang-monitor",
"servo-base",
"servo-bluetooth",
"servo-bluetooth-traits",
"servo-canvas-traits",
"servo-config",
"servo-constellation",
"servo-constellation-traits",
"servo-devtools",
"servo-devtools-traits",
"servo-embedder-traits",
"servo-fonts",
"servo-geometry",
"servo-layout",
"servo-layout-api",
"servo-media",
"servo-media-dummy",
"servo-media-gstreamer",
"servo-media-thread",
"servo-net",
"servo-net-traits",
"servo-paint",
"servo-paint-api",
"servo-profile",
"servo-profile-traits",
"servo-script",
"servo-script-traits",
"servo-storage",
"servo-storage-traits",
"servo-tracing",
"servo-url",
"servo-webgl",
"servo-webgpu",
"servo-webxr",
"servo-webxr-api",
"stylo",
"stylo_traits",
"surfman",
"tokio",
"tracing",
"url",
"webrender",
"webrender_api",
"winit",
]
[[package]]
name = "servo-allocator"
version = "0.0.1"
@@ -8834,7 +8834,6 @@ dependencies = [
"jni",
"keyboard-types",
"libc",
"libservo",
"log",
"mime_guess",
"napi-derive-ohos",
@@ -8851,6 +8850,7 @@ dependencies = [
"raw-window-handle",
"rustls",
"serde_json",
"servo",
"servo-allocator",
"servo-base",
"servo-webdriver-server",

View File

@@ -24,7 +24,7 @@ content-security-policy = { workspace = true }
euclid = { workspace = true }
fonts_traits = { workspace = true }
fontsan = { version = "0.6.1" }
# FIXME (#34517): macOS only needs this when building libservo without `--features media-gstreamer`
# FIXME (#34517): macOS only needs this when building servo without `--features media-gstreamer`
harfbuzz-sys = { workspace = true, features = ["bundled"] }
icu_properties = { workspace = true, features = ["compiled_data"] }
itertools = { workspace = true }

View File

@@ -1,5 +1,5 @@
[package]
name = "libservo"
name = "servo"
version.workspace = true
authors.workspace = true
license.workspace = true
@@ -13,7 +13,7 @@ path = "lib.rs"
crate-type = ["rlib"]
[features]
# Note: Servoshell does not use the default features of libservo, so you also
# Note: Servoshell does not use the default features of servo, so you also
# need to add features that should be default to ports/servoshell/Cargo.toml
default = ["clipboard", "js_jit"]
background_hang_monitor = ["background_hang_monitor/sampler"]
@@ -149,7 +149,7 @@ webxr = { package = "servo-webxr", path = "../webxr", features = ["glwindow", "h
http = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true }
libservo = { path = ".", features = ["tracing"] }
servo = { path = ".", features = ["tracing"] }
net = { package = "servo-net", path = "../net", features = ["test-util"] }
rustls = { version = "0.23", default-features = false, features = ["aws-lc-rs"] }
tracing = { workspace = true }

View File

@@ -39,25 +39,25 @@ OriginalFilename = "servoshell.exe"
ProductName = "ServoShell"
[features]
default = ["gamepad", "libservo/clipboard", "js_jit", "max_log_level", "webgpu", "webxr"]
crown = ["libservo/crown"]
debugmozjs = ["libservo/debugmozjs"]
gamepad = ["libservo/gamepad"]
jitspew = ["libservo/jitspew"]
js_backtrace = ["libservo/js_backtrace"]
js_jit = ["libservo/js_jit"]
default = ["gamepad", "servo/clipboard", "js_jit", "max_log_level", "webgpu", "webxr"]
crown = ["servo/crown"]
debugmozjs = ["servo/debugmozjs"]
gamepad = ["servo/gamepad"]
jitspew = ["servo/jitspew"]
js_backtrace = ["servo/js_backtrace"]
js_jit = ["servo/js_jit"]
max_log_level = ["log/release_max_level_info"]
media-gstreamer = ["libservo/media-gstreamer"]
native-bluetooth = ["libservo/native-bluetooth"]
profilemozjs = ["libservo/profilemozjs"]
refcell_backtrace = ["libservo/refcell_backtrace"]
tracing = ["dep:tracing", "dep:tracing-subscriber", "libservo/tracing"]
media-gstreamer = ["servo/media-gstreamer"]
native-bluetooth = ["servo/native-bluetooth"]
profilemozjs = ["servo/profilemozjs"]
refcell_backtrace = ["servo/refcell_backtrace"]
tracing = ["dep:tracing", "dep:tracing-subscriber", "servo/tracing"]
tracing-hitrace = ["tracing", "dep:hitrace"]
tracing-perfetto = ["tracing", "dep:tracing-perfetto"]
vello = ["libservo/vello"]
webgl_backtrace = ["libservo/webgl_backtrace"]
webgpu = ["libservo/webgpu"]
webxr = ["libservo/webxr"]
vello = ["servo/vello"]
webgl_backtrace = ["servo/webgl_backtrace"]
webgpu = ["servo/webgpu"]
webxr = ["servo/webxr"]
[dependencies]
accesskit = { workspace = true }
@@ -70,7 +70,7 @@ hitrace = { workspace = true, optional = true }
image = { workspace = true }
keyboard-types = { workspace = true }
libc = { workspace = true }
libservo = { path = "../../components/servo", features = ["background_hang_monitor", "bluetooth", "testbinding"], default-features = false }
servo = { path = "../../components/servo", features = ["background_hang_monitor", "bluetooth", "testbinding"], default-features = false }
log = { workspace = true }
mime_guess = { workspace = true }
raw-window-handle = { workspace = true }
@@ -130,7 +130,7 @@ winit = { workspace = true }
sig = "1.0"
[target.'cfg(target_os = "windows")'.dependencies]
libservo = { path = "../../components/servo", features = ["no-wgl"] }
servo = { path = "../../components/servo", features = ["no-wgl"] }
windows-sys = { workspace = true, features = ["Win32_Graphics_Gdi", "Win32_System_Console"] }
[target.'cfg(target_os = "macos")'.dependencies]

View File

@@ -266,7 +266,7 @@ class PostBuildCommands(CommandBase):
if not path.exists(docs):
os.makedirs(docs)
# Document library crates to avoid package name conflict between severoshell
# Document library crates to avoid package name conflict between servoshell
# and libservo. Besides, main.rs in servoshell is just a stub.
params.insert(0, "--lib")
# Documentation build errors shouldn't cause the entire build to fail. This

View File

@@ -217,7 +217,7 @@ class MachCommands(CommandBase):
"servo-hyper-serde",
"servo-layout",
"servo-layout-api",
"libservo",
"servo",
"servo-metrics",
"servo-net",
"servo-net-traits",

View File

@@ -152,7 +152,7 @@ stdenv.mkDerivation (androidEnvironment // {
# TLA Err: Error: Couldn't request WebGPU adapter.
vulkan-loader
# $ cargo run -p libservo --example winit_minimal
# $ cargo run -p servo --example winit_minimal
# Unable to load the libEGL shared object
libGL
];