Skip to content
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

etlegacy: init at 2.81.1 #222633

Merged
merged 2 commits into from
Apr 11, 2023
Merged

etlegacy: init at 2.81.1 #222633

merged 2 commits into from
Apr 11, 2023

Conversation

ashleyghooper
Copy link
Contributor

Description of changes

First nixpkgs package for this game. Built for both i686-linux and x86_64-linux.

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

First package for ET: Legacy, for the current release version of the game. I have played both the 32-bit and 64-bit versions of the game on online servers.

Copy link
Member

@penguwin penguwin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on x86_64-linux.

Thank you for packaging this 🥳

@rafal1137
Copy link

Compiled the package and it was running on my NixOS VM.
And as VM hadrware specs were it was running decent.
Here is some screenshots:
nixos_1
nixos_2

@teto
Copy link
Member

teto commented Mar 26, 2023

worked for me as well.

@teto
Copy link
Member

teto commented Apr 4, 2023

The assets are on a different licence Creative Commons BY-NC-SA 3.0
https://docs.google.com/document/d/1YUuqgyaE0hkJ11O-bzf83D6BQ6QeIrc2tQlYrg90IlE/edit which seems ok to redistribute.
I am not sure how to best encode this information soon (the matrix chat could help), I think I would set both licenses in the meta field, you can grep nixpkgs for license = [ and you will find several packages with several licenses.

@ashleyghooper
Copy link
Contributor Author

The assets are on a different licence Creative Commons BY-NC-SA 3.0 https://docs.google.com/document/d/1YUuqgyaE0hkJ11O-bzf83D6BQ6QeIrc2tQlYrg90IlE/edit which seems ok to redistribute. I am not sure how to best encode this information soon (the matrix chat could help), I think I would set both licenses in the meta field, you can grep nixpkgs for license = [ and you will find several packages with several licenses.

Ah, good catch. I looked up the license in lib/licenses.nix and I think I have it:

license = [ licenses.gpl3 licenses.cc-by-nc-sa-30 ];

@ashleyghooper ashleyghooper force-pushed the etlegacy branch 2 times, most recently from 4919d88 to 576c09d Compare April 6, 2023 00:52
See packaging request: etlegacy - fixes NixOS#101187.

This change has been updated in light of feedback from @teto
to use a more conventional structure consisting of a single
stdenv.mkDerivation, with the wrapper moved into postInstall.

fetchGit was substituted for fetchFromGitHub.

The 'fakeGit' script was greatly simplified to simply echo
${version}.

meta.mainProgram was also added, as the filename of the main
binary varies according to the architecture, and is referenced
in the XDG .desktop files. This also avoids collisons as it's
not overly uncommon for people to have both 32- and 64-bit
versions of this game installed at the same time.

meta.license was updated to include the cc-by-nc-sa-30 license,
which some resources use.

Finally the configuration was passed through the alejandra
nix formatter.
@teto
Copy link
Member

teto commented Apr 11, 2023

@ashleyghooper I propose we merge this, darwin support can come later. This way it will make it to the nixos 23.05 release.

@ashleyghooper
Copy link
Contributor Author

Yes, agreed!

@teto teto merged commit 16e2515 into NixOS:master Apr 11, 2023
@ashleyghooper
Copy link
Contributor Author

Big thanks to @teto for all his guidance with getting the derivation into a better state.

@drupol
Copy link
Contributor

drupol commented Aug 19, 2023

Hello,

I'm unable to run this on my machine, I get the following error log:

❯ etl.x86_64
tty]*** buffer overflow detected ***: terminated
*** buffer overflow detected ***: terminated
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
*** buffer overflow detected ***: terminated
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
*** buffer overflow detected ***: terminated
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
*** buffer overflow detected ***: terminated
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
...
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
*** buffer overflow detected ***: terminated
DOUBLE SIGNAL FAULT: Received signal 6, exiting...
*** buffer overflow detected ***: terminated
fish: Job 1, 'etl.x86_64' terminated by signal SIGSEGV (Address boundary error)
~ ✘

I can easily reproduce the error by doing:

NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#etlegacy -L --impure

Do you have a clue?

@drupol
Copy link
Contributor

drupol commented Aug 19, 2023

The issue has been identified and the PR to fix this is at #250249

Reviews welcome!

@ashleyghooper ashleyghooper mentioned this pull request Mar 17, 2024
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Packaging request: etlegacy
7 participants