From 217818dbb80b54ca9eac240c169e8c015a145dc7 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 13 Sep 2017 06:06:52 +0200 Subject: pkgs/build-unity: Switch to using buildGame Now we no longer need to invoke patchelf by ourselves and all of the dependencies are patched automatically. I've added gtk2-x11, gdk_pixbuf and glib to buildUnity as well, because after inspecting other Unity games they seem to require the same libraries as well. Signed-off-by: aszlig --- pkgs/games/build-support/build-unity.nix | 42 +++++++++++++++----------------- 1 file changed, 19 insertions(+), 23 deletions(-) (limited to 'pkgs/games/build-support') diff --git a/pkgs/games/build-support/build-unity.nix b/pkgs/games/build-support/build-unity.nix index dfd69bba..bdca83eb 100644 --- a/pkgs/games/build-support/build-unity.nix +++ b/pkgs/games/build-support/build-unity.nix @@ -1,35 +1,31 @@ -{ stdenv, makeWrapper, mesa, xorg, libpulseaudio, libudev }: +{ stdenv, buildGame, makeWrapper, gtk2-x11, gdk_pixbuf, glib +, mesa, xorg, libpulseaudio, libudev, zlib +}: -{ name, version, fullName, buildPhase ? "", rpath ? [], ... }@attrs: +{ name, version, fullName +, nativeBuildInputs ? [] +, buildInputs ? [] +, runtimeDependencies ? [] +, ... +}@attrs: let arch = if stdenv.system == "x86_64-linux" then "x86_64" else "x86"; executable = "${fullName}.${arch}"; dataDir = "${fullName}_Data"; -in stdenv.mkDerivation ({ +in buildGame ({ name = "${name}-${version}"; inherit fullName version arch executable dataDir; slugName = name; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ] ++ nativeBuildInputs; - buildPhase = let - mainRpath = stdenv.lib.makeLibraryPath ([ - stdenv.cc.cc mesa xorg.libX11 xorg.libXcursor xorg.libXrandr - libpulseaudio libudev - ] ++ rpath); - in '' - runHook preBuild + buildInputs = [ gtk2-x11 gdk_pixbuf glib ]; - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${stdenv.lib.escapeShellArg mainRpath} "$executable" - - ${buildPhase} - - runHook postBuild - ''; + runtimeDependencies = [ + mesa xorg.libX11 xorg.libXcursor xorg.libXrandr libudev zlib + ]; installPhase = '' runHook preInstall @@ -62,7 +58,7 @@ in stdenv.mkDerivation ({ runHook postInstall ''; - - dontStrip = true; - dontPatchELF = true; -} // removeAttrs attrs [ "name" "version" "fullName" "buildPhase" "rpath" ]) +} // removeAttrs attrs [ + "name" "version" "fullName" "nativeBuildInputs" "buildInputs" + "runtimeDependencies" +]) -- cgit 1.4.1