nixpkgs/pkgs/games/0ad/rootdir_env.patch
Charlotte Van Petegem 701664ea5c zeroad: Split data from binaries again
The rootdir patch was lost in the update to 0.0.24b. Adding it allows
hydra to build the game. It can't when the binaries depend on the data
since the data is too big for hydra.
2021-05-08 10:53:49 -07:00

40 lines
1.1 KiB
Diff

diff --git a/source/ps/GameSetup/Paths.cpp b/source/ps/GameSetup/Paths.cpp
index 474364e..bf084b4 100644
--- a/source/ps/GameSetup/Paths.cpp
+++ b/source/ps/GameSetup/Paths.cpp
@@ -155,32 +155,8 @@ Paths::Paths(const CmdLineArgs& args)
/*static*/ OsPath Paths::Root(const OsPath& argv0)
{
-#if OS_ANDROID
- return OsPath("/sdcard/0ad"); // TODO: this is kind of bogus
-#else
-
- // get full path to executable
- OsPath pathname = sys_ExecutablePathname(); // safe, but requires OS-specific implementation
- if(pathname.empty()) // failed, use argv[0] instead
- {
- errno = 0;
- pathname = wrealpath(argv0);
- if(pathname.empty())
- WARN_IF_ERR(StatusFromErrno());
- }
-
- // make sure it's valid
- if(!FileExists(pathname))
- {
- LOGERROR("Cannot find executable (expected at '%s')", pathname.string8());
- WARN_IF_ERR(StatusFromErrno());
- }
-
- for(size_t i = 0; i < 2; i++) // remove "system/name.exe"
- pathname = pathname.Parent();
- return pathname;
-
-#endif
+ UNUSED2(argv0);
+ return OsPath(getenv("ZEROAD_ROOTDIR"));
}
/*static*/ OsPath Paths::RootData(const OsPath& argv0)