Skip to content

Conversation

DrymarchonShaun
Copy link
Contributor

Added gamma-launcher, a reimplementation of the Windows-only (due to use of .NET/powershell scripts) Stalker G.A.M.M.A. launcher

also initializes python-unrar, a required dependency for the launcher

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nix-owners nix-owners bot requested a review from natsukium August 3, 2025 01:47
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 6.topic: python Python is a high-level, general-purpose programming language. labels Aug 3, 2025
Copy link
Contributor

@RossSmyth RossSmyth left a comment

Choose a reason for hiding this comment

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

A few things need to be fixed up. There should be isolation between the python module and the down-stream consumers, then some "norms" that are done (hash vs. sha256, no more with lib;, changelog for the updates).

Copy link
Contributor

@RossSmyth RossSmyth left a comment

Choose a reason for hiding this comment

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

Looks good! Just a couple minor things that I forgot to put in the initial review, sorry. Looks good other-wise.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 3, 2025

patches = [
(replaceVars ./use_nix_unrar_path.patch {
unrar_lib_path = "${unrar}/lib/libunrar.so";
Copy link
Member

Choose a reason for hiding this comment

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

Has the library darwin support? if not meta.platforms should be adjusted accordingly or .so replaced with stdenv.hostPlatform.extensions.sharedLibrary

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure what I need to do here, AFAIK everything here should support darwin, but evidently not working, (based on keenan's nixpkgs-review below), and I don't have a darwin system to test on.

Just disabling darwin by setting meta.platforms = lib.platforms.linux; in the python-unrar package breaks it and gamma-launcher, both are reported as being nonexistant according to nix shell

$ nix shell .#gamma-launcher
error: flake 'git+file:///home/shaun/.src/nixpkgs' does not provide attribute 'packages.x86_64-linux.gamma-launcher', 'legacyPackages.x86_64-linux.gamma-launcher' or 'gamma-launcher'
$ nix shell .#python3Packages.python-unrar
error: flake 'git+file:///home/shaun/.src/nixpkgs' does not provide attribute 'packages.x86_64-linux.python3Packages.python-unrar', 'legacyPackages.x86_64-linux.python3Packages.python-unrar' or 'python3Packages.python-unrar'

Copy link
Member

@keenanweaver keenanweaver left a comment

Choose a reason for hiding this comment

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

Anomaly & Gamma both working. I'm getting crashes in Gamma, but that's not an issue due to this package.

nixpkgs-review result for #430510

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 430510
Commit: 04b2785a3f0063639255383c8a08ecc7c3786d15 (subsequent changes)
Merge: 74478627af467aaf9d0cbadbebddac58f7e6abf0

Logs: https://github.com/keenanweaver/nixpkgs-review-gha/actions/runs/17220704928


x86_64-linux

✅ 6 packages built:
  • gamma-launcher
  • gamma-launcher.dist
  • python312Packages.python-unrar
  • python312Packages.python-unrar.dist
  • python313Packages.python-unrar
  • python313Packages.python-unrar.dist

aarch64-linux

✅ 6 packages built:
  • gamma-launcher
  • gamma-launcher.dist
  • python312Packages.python-unrar
  • python312Packages.python-unrar.dist
  • python313Packages.python-unrar
  • python313Packages.python-unrar.dist

x86_64-darwin (sandbox = true)

❌ 6 packages failed to build:
  • gamma-launcher
  • gamma-launcher.dist
  • python312Packages.python-unrar
  • python312Packages.python-unrar.dist
  • python313Packages.python-unrar
  • python313Packages.python-unrar.dist

Error logs: `x86_64-darwin`
python312Packages.python-unrar
==================================== ERRORS ====================================
_________________ ERROR collecting unrar/tests/test_rarfile.py _________________
unrar/tests/test_rarfile.py:22: in <module>
    from unrar.rarfile import (
unrar/rarfile.py:26: in <module>
    from unrar import unrarlib
unrar/unrarlib.py:54: in <module>
    unrarlib = ctypes.cdll.LoadLibrary(lib_path)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/nix/store/xb3siyaqnb0icxdjrh6frh9r8xa0wr7g-python3-3.12.11/lib/python3.12/ctypes/__init__.py:460: in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
/nix/store/xb3siyaqnb0icxdjrh6frh9r8xa0wr7g-python3-3.12.11/lib/python3.12/ctypes/__init__.py:379: in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
E   OSError: dlopen(/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/lib/libunrar.dylib, 0x0006): tried: '/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/lib/libunrar.dylib' (no such file)
=========================== short test summary info ============================
ERROR unrar/tests/test_rarfile.py - OSError: dlopen(/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/li...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.41s ===============================
python313Packages.python-unrar
==================================== ERRORS ====================================
_________________ ERROR collecting unrar/tests/test_rarfile.py _________________
unrar/tests/test_rarfile.py:22: in <module>
    from unrar.rarfile import (
unrar/rarfile.py:26: in <module>
    from unrar import unrarlib
unrar/unrarlib.py:54: in <module>
    unrarlib = ctypes.cdll.LoadLibrary(lib_path)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/nix/store/gkspnzkgarw4qvbl4670p3jcbgg6psrg-python3-3.13.6/lib/python3.13/ctypes/__init__.py:471: in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
/nix/store/gkspnzkgarw4qvbl4670p3jcbgg6psrg-python3-3.13.6/lib/python3.13/ctypes/__init__.py:390: in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
E   OSError: dlopen(/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/lib/libunrar.dylib, 0x0006): tried: '/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/lib/libunrar.dylib' (no such file)
=========================== short test summary info ============================
ERROR unrar/tests/test_rarfile.py - OSError: dlopen(/nix/store/c5jahf88clglgmmbg9iwdyla0bnrbck0-unrar-7.1.10/li...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.39s ===============================

aarch64-darwin (sandbox = true)

❌ 6 packages failed to build:
  • gamma-launcher
  • gamma-launcher.dist
  • python312Packages.python-unrar
  • python312Packages.python-unrar.dist
  • python313Packages.python-unrar
  • python313Packages.python-unrar.dist

Error logs: `aarch64-darwin`
python312Packages.python-unrar
==================================== ERRORS ====================================
_________________ ERROR collecting unrar/tests/test_rarfile.py _________________
unrar/tests/test_rarfile.py:22: in <module>
    from unrar.rarfile import (
unrar/rarfile.py:26: in <module>
    from unrar import unrarlib
unrar/unrarlib.py:54: in <module>
    unrarlib = ctypes.cdll.LoadLibrary(lib_path)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/nix/store/msrmjs47wva2hk6bvqzh4b40rd5n0sqx-python3-3.12.11/lib/python3.12/ctypes/__init__.py:460: in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
/nix/store/msrmjs47wva2hk6bvqzh4b40rd5n0sqx-python3-3.12.11/lib/python3.12/ctypes/__init__.py:379: in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
E   OSError: dlopen(/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/lib/libunrar.dylib, 0x0006): tried: '/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/lib/libunrar.dylib' (no such file)
=========================== short test summary info ============================
ERROR unrar/tests/test_rarfile.py - OSError: dlopen(/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/li...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.11s ===============================
python313Packages.python-unrar
==================================== ERRORS ====================================
_________________ ERROR collecting unrar/tests/test_rarfile.py _________________
unrar/tests/test_rarfile.py:22: in <module>
    from unrar.rarfile import (
unrar/rarfile.py:26: in <module>
    from unrar import unrarlib
unrar/unrarlib.py:54: in <module>
    unrarlib = ctypes.cdll.LoadLibrary(lib_path)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/nix/store/9px7zzsfnlmj61yy2fpl6z14w93j05is-python3-3.13.6/lib/python3.13/ctypes/__init__.py:471: in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
/nix/store/9px7zzsfnlmj61yy2fpl6z14w93j05is-python3-3.13.6/lib/python3.13/ctypes/__init__.py:390: in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
E   OSError: dlopen(/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/lib/libunrar.dylib, 0x0006): tried: '/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/lib/libunrar.dylib' (no such file)
=========================== short test summary info ============================
ERROR unrar/tests/test_rarfile.py - OSError: dlopen(/nix/store/w4a2p9ixpjvzzpx36yiw1jds8fyq7fhp-unrar-7.1.10/li...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.11s ===============================

@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Aug 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants