about summary refs log tree commit diff
path: root/pkgs/games/build-support/setup-hooks/auto-patchelf.sh
Commit message (Collapse)AuthorAgeFilesLines
* auto-patchelf: Move into pkgs/build-supportaszlig2018-02-011-149/+0
| | | | | | | | | This is really not game-specific, so let's put it at the top-level and also make sure we substitute all the commands we're using there, even though a few of them are in PATH of stdenv so that it will always work even when the programs available in stdenv should change someday. Signed-off-by: aszlig <aszlig@nix.build>
* auto-patchelf: Only search for deps with same archaszlig2018-02-011-4/+11
| | | | | | | | | | | | So far we only matched the file name of the dependency but not its architecture, so if for example there is one shared object for i686-linux and another one with the same name but for x86_64-linux, chances are that the wrong architecture is chosen. Now we're checking the architecture of the shared object file and only pick it, if it matches the architecture of the file to patchelf. Signed-off-by: aszlig <aszlig@nix.build>
* auto-patchelf: Clean up a bitaszlig2018-02-011-7/+11
| | | | | | | This makes sure that ldd doesn't print warnings like if the file isn't executable and also makes the status messages a bit more clear. Signed-off-by: aszlig <aszlig@nix.build>
* auto-patchelf: Fix adding env hookaszlig2018-02-011-1/+1
| | | | | | | | | | | | | | The semantics of adding env hooks has changed in NixOS/nixpkgs@7f3ca3e21a22fd3101b40cadb86899542dec2e35 so that it's now broken up into several hook variables (envBuildBuildHook, envBuildHostHook, envBuildTargetHook, envHostHostHook, envHostTargetHook and envTargetTargetHook). Fortunately commit NixOS/nixpkgs@a036473a0a0c6100fce316e1444fc33ec6674b adds a helper function (addEnvHooks) to deal this without referencing those hook variables directly and rather just providing an offset. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/build-game: Add runtimeDependencies attributeaszlig2017-09-131-7/+10
| | | | | | | This allows us to add libraries to the RPATH despite being required by the respective game. By default there is only PulseAudio at the moment. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add a new buildGame functionaszlig2017-09-131-0/+135
The main functionality for this function is to gather missing dependencies in ELF executables and shared libraries and using patchelf to set the right RPATH. All of the dependencies are searched based on what we have in one of the buildInputs variables, so all we need to do is list them in there. One thing that's still left to solve is adding libraries to the RPATH which are only required at runtime. An example for this would be the pulseaudio library. Signed-off-by: aszlig <aszlig@redmoonstudios.org>