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

discord-gamesdk: set autoPatchelfHook for linux targets only #320029

Merged
merged 1 commit into from
Jun 18, 2024

Conversation

matteo-pacini
Copy link
Contributor

@matteo-pacini matteo-pacini commented Jun 15, 2024

Description of changes

discord-gamesdk fails to realise on aarch64-darwin (and on Intel cpus too, most likely) because the autoPatchelfHook being triggered on all platforms.

Traceback (most recent call last):
  File "/nix/store/sqiijbqkk8ka809y7gdfy60q0fyd5c3k-auto-patchelf.py", line 371, in <module>
    with open_elf(interpreter_path) as interpreter:
  File "/nix/store/327bf08j5b7l9cnzink3g4vp32y5352j-python3-3.11.9/lib/python3.11/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/nix/store/sqiijbqkk8ka809y7gdfy60q0fyd5c3k-auto-patchelf.py", line 25, in open_elf
    yield ELFFile(stream)
          ^^^^^^^^^^^^^^^
  File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/elf/elffile.py", line 84, in __init__
    self._identify_file()
  File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/elf/elffile.py", line 570, in _identify_file
    elf_assert(magic == b'\x7fELF', 'Magic number does not match')
  File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/common/utils.py", line 80, in elf_assert
    _assert_with_exception(cond, msg, ELFError)
  File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/common/utils.py", line 143, in _assert_with_exception
    raise exception_type(msg)
elftools.common.exceptions.ELFError: Magic number does not match
error: builder for '/nix/store/znljxn8fb8nrxyaiqvcba5l96mf0gf7h-discord-gamesdk-3.2.1.drv' failed with exit code 1;
       last 10 log lines:
       >           ^^^^^^^^^^^^^^^
       >   File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/elf/elffile.py", line 84, in __init__
       >     self._identify_file()
       >   File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/elf/elffile.py", line 570, in _identify_file
       >     elf_assert(magic == b'\x7fELF', 'Magic number does not match')
       >   File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/common/utils.py", line 80, in elf_assert
       >     _assert_with_exception(cond, msg, ELFError)
       >   File "/nix/store/apak42f7am62lypcwz3gfl04yrv509r8-python3-3.11.9-env/lib/python3.11/site-packages/elftools/common/utils.py", line 143, in _assert_with_exception
       >     raise exception_type(msg)
       > elftools.common.exceptions.ELFError: Magic number does not match

The hook is now activated for Linux targets only.

Result of nixpkgs-review run on aarch64-darwin 1

2 packages built:
  • discord-gamesdk
  • discord-gamesdk.dev

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 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.

Add a 👍 reaction to pull requests you find important.

Copy link
Member

@tomodachi94 tomodachi94 left a comment

Choose a reason for hiding this comment

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

Lgtm, good catch :) Thanks for the fix.

@wegank wegank merged commit 30f3ff0 into NixOS:master Jun 18, 2024
38 checks passed
Copy link
Contributor

Successfully created backport PR for release-24.05:

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.

None yet

3 participants