NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.32k stars 14.3k forks source link

Portmod does not build mods for Fallout: New Vegas. #197624

Open Birdthatcantfly opened 2 years ago

Birdthatcantfly commented 2 years ago

Describe the bug

Portmod does not build mods for Fallout NV. It works correctly with OpenMW.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Try to install mod for Fallout NV.
  2. Installation fails with this error: >>> Executing pkg_pretend for package assets-meshes/remastered-bodies-1.2 Traceback (most recent call last): File "<string>", line 21, in <module> File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmodlib/_wrapper.py", line 203, in main args.func(args) File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmodlib/_wrapper.py", line 67, in wrapper_pybuild pkg_func(pkg, "pkg_pretend") File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmodlib/_wrapper.py", line 55, in pkg_func return func() File "/tmp/portmod/tmpdb/common/bsa/bsa-0.4-r1.pybuild", line 25, in pkg_pretend if not shutil.which("bsatool2") and "linux" not in self.USE: TypeError: argument of type 'NoneType' is not iterable Traceback (most recent call last): File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmod/_cli/main.py", line 468, in main args.func(args) File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmod/_cli/search.py", line 35, in search_main configure(selection) File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmod/merge.py", line 369, in configure _sandbox_execute_pybuild( File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmod/loader.py", line 363, in _sandbox_execute_pybuild result = _sandbox_execute( File "/nix/store/7hwrbm35l6n6s6j1s2m839xd4wigbi54-portmod-2.1.0/lib/python3.10/site-packages/portmod/loader.py", line 302, in _sandbox_execute raise SandboxedError( portmod.loader.SandboxedError: /home/user/.local/share/portmod/repos/fallout-nv/assets-meshes/remastered-bodies/remastered-bodies-1.2.pybuild pretend failed! ERROR: /home/user/.local/share/portmod/repos/fallout-nv/assets-meshes/remastered-bodies/remastered-bodies-1.2.pybuild pretend failed!

Notify maintainers

@marius851000

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

- system: `"x86_64-linux"`
 - host os: `Linux 5.15.70-xanmod1, NixOS, 22.11 (Raccoon), 22.11pre419369.301aada7a64`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.0`
 - channels(root): `"home-manager-22.05.tar.gz, nixos"`
 - channels(user): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
marius851000 commented 2 years ago

Turns out it need a forked version of bsatool (from OpenMW) at https://gitlab.com/bmwinger/bsatool2/-/tree/main. I’ll add it while also updating portmod.

marius851000 commented 2 years ago

Fix 1 is here: https://gitlab.com/portmod/fallout-nv/-/merge_requests/57 Fix 2 is here: https://gitlab.com/portmod/bsa/-/merge_requests/8 It might require portmod 2.4.2

zimward commented 3 weeks ago

Is this still relevant? If so #353324 should definitely contain the patches mentioned above.