-
-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zeroad: 0.0.23b -> 0.0.24b #114031
zeroad: 0.0.23b -> 0.0.24b #114031
Conversation
Result of 1 package failed to build:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to add a sourceRoot = ".";
to 0ad/data.nix
to make this work. Also, did you check whether this version of 0ad builds with gcc10? The stdenv was set to gcc9 manually when the default changed because 0.0.23 didn't with build with 10, but I would assume that that isn't the case for 0.0.24.
What do you mean? This is added in line 12 of the file.
I did not. But once the spidermonkey PR is merged I have to review this again, then i will test gcc10. |
Oh, I'm blind apparently. Sorry about the noise. |
There’s also a slightly newer release "Alpha 24b" on the download page. I couldn’t find any info on what has been changed with respect to the first "Alpha 24" release, but it’s probably a good idea to update to the latest version. Also, when I wrote my own derivation for this new Alpha, I had to change Finally, is it a good idea to remove the patch for the minor version check? From what I understand, that would mean that any update of |
I was able to get the game started. I did not test much further than that. Do you get a compilation error ?
I have something prepared for that. |
I played two games last night using this pull request (and #114030), so I did not have problems with wxGTK. |
This here is the change between the two versions: 0ad/0ad@A24...A24b |
The spidermonkey PR has since been merged (into staging). However it is not the exact same version that 0ad requires. Therefore I had to put in a little workaround to that. We are now building a new derivation of spidermonkey with a patched 0ad also ships with this version of spidermonkey, however I would prefer the current way of doing it over building the shipped version of spidermonkey, because this way we do not need to redeclare all of spidermonkeys dependencies in this derivation. Because spidermonkey has still not arrived in master, any automatic build will fail again. I am however removing the draft status of this, since the problem should resolve once it hits master. |
let | ||
# the game requires a special version 78.6.0 of spidermonkey, otherwise | ||
# we get compilation errors. We override the src attribute of spidermonkey_78 | ||
# in order to reuse that declartion, while giving it a different source input. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this is the correct solution. The second patch in the derivation for 0.0.23b removed the minor version check, so maybe that's the correct solution here as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, i tried to remove that check already and it gives a compilation error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Fedora patch contains two changes – if you remove the second change, which seems no longer necessary, and perhaps fix the line numbers to @@ -81,19 +81,6 @@
it does apply. But I tend to agree that your solution of overriding the spidermonkey_78
version is better, since 78.6 is the version that is tested by the 0 A.D. devs.
I just saw that this is done in |
The spidermonkey change necessary for this PR was merged to master a few hours ago. I'm getting a build failure for spidermonkey 78.6.0:
|
I was able to fix the build error by adding the following patch to the spidermonkey_78_6 derivation: https://github.com/chvp/nixpkgs/blob/a1a03554af1186669a645609e25a9476f267280b/pkgs/games/0ad/spidermonkey-cargo-toml.patch |
@chvp thanks for the patch. I can happily apply it, but i would also like to understand why this is only needed for the |
The |
Updated. It builds for me locally as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Started a game using this exact patch, and I've played at least 10 games using some version of this patch over the past few weeks.
}; | ||
|
||
nativeBuildInputs = [ python2 perl pkg-config ]; | ||
|
||
buildInputs = [ | ||
spidermonkey_38 boost icu libxml2 libpng libjpeg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can now drop spidermonkey_38.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Motivation for this change
This unbreaks and updates the game but it depends on #114030 .
More on why that patch to spidermonkey is needed can be read here:
https://wildfiregames.com/forum/topic/33893-spidermonkey-68-78-upgrade/
Once that PR has been merged, I will unmark the draft status of this. Any automatic build will likely fail but that should resolve once that has been merged.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)