From 0e860fcbaeadb523b7d553b06e97e35edaafa491 Mon Sep 17 00:00:00 2001 From: "Manuel F. Schmid" <3769324+mfsch@users.noreply.github.com> Date: Thu, 19 Feb 2026 18:01:40 -0500 Subject: [PATCH] zeroad: 0.27.1 -> 0.28.0 --- pkgs/by-name/ze/zeroad-data/package.nix | 3 +-- pkgs/by-name/ze/zeroad-unwrapped/package.nix | 26 +++++++++++++++---- .../ze/zeroad-unwrapped/rootdir_env.patch | 12 +++++---- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/ze/zeroad-data/package.nix b/pkgs/by-name/ze/zeroad-data/package.nix index 3f78a9b42ccb..3e9317962721 100644 --- a/pkgs/by-name/ze/zeroad-data/package.nix +++ b/pkgs/by-name/ze/zeroad-data/package.nix @@ -11,11 +11,10 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://releases.wildfiregames.com/0ad-${finalAttrs.version}-unix-data.tar.xz"; - hash = "sha256-g34tbd8TiwJfwCAXJF11gaS7hP2UtCwOYF0yG3AXqZg="; + hash = "sha256-6ESzCuIQLEfgpP/y8ODvBboM67GJCqcidvoSRXw5Um8="; }; installPhase = '' - rm binaries/data/tools/fontbuilder/fonts/*.txt mkdir -p $out/share/0ad cp -r binaries/data $out/share/0ad/ ''; diff --git a/pkgs/by-name/ze/zeroad-unwrapped/package.nix b/pkgs/by-name/ze/zeroad-unwrapped/package.nix index 6e4a62bbbb37..803f4288dfc7 100644 --- a/pkgs/by-name/ze/zeroad-unwrapped/package.nix +++ b/pkgs/by-name/ze/zeroad-unwrapped/package.nix @@ -3,11 +3,12 @@ lib, perl, fetchurl, + fetchpatch, python3, fmt_9, libidn, pkg-config, - spidermonkey_115, + spidermonkey_128, boost, icu, libxml2, @@ -38,15 +39,30 @@ }: # You can find more instructions on how to build 0ad here: -# https://trac.wildfiregames.com/wiki/BuildInstructions +# https://gitea.wildfiregames.com/0ad/0ad/wiki/BuildInstructions +let + # When updating 0 A.D., check for necessary SpiderMonkey patches here: + # https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/libraries/source/spidermonkey/patches + spidermonkey = spidermonkey_128.overrideAttrs (old: { + # Fix segfault during GUI GC (fixed in v140) + # https://bugzilla.mozilla.org/show_bug.cgi?id=1982134 + patches = old.patches or [ ] ++ [ + (fetchpatch { + name = "fix-extra-gc-tracing.patch"; + url = "https://github.com/mozilla-firefox/firefox/commit/bf1994b05baea60f84309475cd544fe89acf82f2.patch"; + hash = "sha256-3sTcZb34yHheqK7O9aHSwMife3uJnf3us+0sPJ2NzKs="; + }) + ]; + }); +in stdenv.mkDerivation (finalAttrs: { pname = "0ad"; - version = "0.27.1"; + version = "0.28.0"; src = fetchurl { url = "https://releases.wildfiregames.com/0ad-${finalAttrs.version}-unix-build.tar.xz"; - hash = "sha256-oKU1XutZaNJPKDdwc2FQ2XTa/sugd1TUZicH3BcBa/s="; + hash = "sha256-J+IXdV73apIv5Y2/WT2W5Utu0jddI/VIw1YZqmvVpCo="; }; nativeBuildInputs = [ @@ -56,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - spidermonkey_115 + spidermonkey boost icu libxml2 diff --git a/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch b/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch index 95463c7e2df4..c4dc16e076e5 100644 --- a/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch +++ b/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch @@ -1,10 +1,13 @@ diff --git a/source/ps/GameSetup/Paths.cpp b/source/ps/GameSetup/Paths.cpp -index 474364e..bf084b4 100644 +index 4a692713..c393e7d5 100644 --- a/source/ps/GameSetup/Paths.cpp +++ b/source/ps/GameSetup/Paths.cpp -@@ -155,32 +155,8 @@ Paths::Paths(const CmdLineArgs& args) +@@ -166,34 +166,9 @@ Paths::Paths(const CmdLineArgs& args) + } - /*static*/ OsPath Paths::Root(const OsPath& argv0) + +-/*static*/ OsPath Paths::Root(const OsPath& argv0) ++/*static*/ OsPath Paths::Root([[maybe_unused]] const OsPath& argv0) { -#if OS_ANDROID - return OsPath("/sdcard/0ad"); // TODO: this is kind of bogus @@ -32,8 +35,7 @@ index 474364e..bf084b4 100644 - return pathname; - -#endif -+ UNUSED2(argv0); + return OsPath(getenv("ZEROAD_ROOTDIR")); } - /*static*/ OsPath Paths::RootData(const OsPath& argv0) + /*static*/ OsPath Paths::RootData([[maybe_unused]] const OsPath& argv0)