From 6fcdb2e78852d3106e1915d3b17007b4a0679938 Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Wed, 30 Sep 2026 15:47:53 +0200 Subject: [PATCH 1/3] servo: 0.5.0 -> 0.6.0 https://github.com/servo/servo/releases/tag/v0.6.0 The servo-allocator/use-system-allocator feature has been removed, instead jemalloc has been moved to a feature that is turned on by default. --- pkgs/by-name/se/servo/package.nix | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/se/servo/package.nix b/pkgs/by-name/se/servo/package.nix index 67cd8eae20af..876c01608183 100644 --- a/pkgs/by-name/se/servo/package.nix +++ b/pkgs/by-name/se/servo/package.nix @@ -69,13 +69,13 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "servo"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "servo"; repo = "servo"; tag = "v${finalAttrs.version}"; - hash = "sha256-cJtmh/gzwno1gIqHPFgDsynGi//BvV9UyevuAbllRtg="; + hash = "sha256-inhpSzLQExTD5VT7hCzoycYMa2U4oZv8fz7NhZAlP2I="; # Breaks reproducibility depending on whether the picked commit # has other ref-names or not, which may change over time, i.e. with # "ref-names: HEAD -> main" as long this commit is the branch HEAD @@ -85,7 +85,23 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-zZeHqxBvs5M0/TO/ifM1m5F0mSdT4cTJzoW2ja1+s28="; + cargoHash = "sha256-hjea0ze+GO3i+x1HZxSpWfXc57kvVVjmTWl2ytQYxco="; + + postPatch = '' + # The mozjs crates all use cbindgen with `cargo metadata` invocations, + # which looks up the nearest cargo config. + # In our case, that's $cargoDepsCopy/.cargo/config.toml, which is the + # template of the config cargo-setup-hook creates in the build directory. + # The easiest workaround is to copy the final config back into $cargoDepsCopy, + # so `cargo metadata` invoked inside the mozjs crates finds the correct vendor path. + cp .cargo/config.toml $cargoDepsCopy/.cargo/config.toml + # We also need to make sure that `cargo metadata` knows what versions each of the + # mozjs crates' dependencies resolve to in our dependency cache, which can be achieved + # by copying our lockfile into the mozjs crate directories. + for mozjs_dir in $cargoDepsCopy/*/mozjs_*/; do + cp Cargo.lock $mozjs_dir + done + ''; # set `HOME` to a temp dir for write access # Fix invalid option errors during linking (https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328) @@ -137,11 +153,6 @@ rustPlatform.buildRustPackage (finalAttrs: { vulkan-loader ]; - # Builds with additional features for aarch64, see https://github.com/servo/servo/issues/36819 - buildFeatures = lib.optionals stdenv.hostPlatform.isAarch64 [ - "servo-allocator/use-system-allocator" - ]; - env.NIX_CFLAGS_COMPILE = toString ( [ # mozjs-sys fails with: From 891f33aa3d05b97a88ecb68811a7bb132ebdbc26 Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Wed, 30 Sep 2026 15:53:46 +0200 Subject: [PATCH 2/3] servo: add maintainer niklaskorz --- pkgs/by-name/se/servo/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/se/servo/package.nix b/pkgs/by-name/se/servo/package.nix index 876c01608183..53714ecea8fe 100644 --- a/pkgs/by-name/se/servo/package.nix +++ b/pkgs/by-name/se/servo/package.nix @@ -188,6 +188,7 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ hexa + niklaskorz ]; teams = with lib.teams; [ ngi ]; mainProgram = "servoshell"; From 59ae40c57adc513441106013b4329424f1dc4749 Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Wed, 30 Sep 2026 21:08:39 +0200 Subject: [PATCH 3/3] servo: remove maintainer hexa Co-authored-by: Martin Weinelt --- pkgs/by-name/se/servo/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/se/servo/package.nix b/pkgs/by-name/se/servo/package.nix index 53714ecea8fe..1f2b79ea74b1 100644 --- a/pkgs/by-name/se/servo/package.nix +++ b/pkgs/by-name/se/servo/package.nix @@ -187,7 +187,6 @@ rustPlatform.buildRustPackage (finalAttrs: { homepage = "https://servo.org"; license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ - hexa niklaskorz ]; teams = with lib.teams; [ ngi ];