summary refs log tree commit diff
path: root/pkgs/development/tools/unity3d
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-05-26 16:20:45 +0300
committerNikolay Amiantov <ab@fmap.me>2017-05-26 16:21:25 +0300
commitaddb96c323c1d2e0cb880907d9be08e663706f6a (patch)
tree4ce60a8baec0d979390de8910898a09a761fa160 /pkgs/development/tools/unity3d
parent3de90b259cfdb2da93fd49c296d1ee5625ead2e1 (diff)
downloadnixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar.gz
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar.bz2
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar.lz
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar.xz
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.tar.zst
nixpkgs-addb96c323c1d2e0cb880907d9be08e663706f6a.zip
unity3d: 5.5.3 -> 5.6.1
Fixes #26061.
Diffstat (limited to 'pkgs/development/tools/unity3d')
-rw-r--r--pkgs/development/tools/unity3d/default.nix69
1 files changed, 37 insertions, 32 deletions
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index d9459134fea..c7ba985d0f7 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -25,7 +25,7 @@ let
     gnome-sharp gtk-sharp-2_0
   ];
 
-  ver = "5.5.3";
+  ver = "5.6.1";
   build = "f1";
 
 in stdenv.mkDerivation rec {
@@ -33,8 +33,8 @@ in stdenv.mkDerivation rec {
   version = "${ver}x${build}";
 
   src = fetchurl {
-    url = "http://beta.unity3d.com/download/a2454d41e248/unity-editor-installer-${version}Linux.sh";
-    sha256 = "1hvas4n1hm0qp0265gk1nh03kypd9690fnxvzg70f5ni9q97pvm0";
+    url = "http://beta.unity3d.com/download/6a86e542cf5c/unity-editor-installer-${version}Linux.sh";
+    sha256 = "10z4h94c9h967gx4b3gwb268zn7bnrb7ylnqnmnqhx6byac7cf4m";
   };
 
   nosuidLib = ./unity-nosuid.c;
@@ -50,41 +50,12 @@ in stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
-    patchFile() {
-      ftype="$(file -b "$1")"
-      if [[ "$ftype" =~ LSB\ .*dynamically\ linked ]]; then
-        if [[ "$ftype" =~ 32-bit ]]; then
-          rpath="${libPath32}"
-          intp="$(cat $NIX_CC/nix-support/dynamic-linker-m32)"
-        else
-          rpath="${libPath64}"
-          intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-        fi
-
-        rpath="$(patchelf --print-rpath "$1"):$rpath"
-        if [[ "$ftype" =~ LSB\ shared ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            "$1"
-        elif [[ "$ftype" =~ LSB\ executable ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            --interpreter "$intp" \
-            "$1"
-        fi
-      fi
-    }
 
     cd Editor
 
     $CC -fPIC -shared -o libunity-nosuid.so $nosuidLib -ldl
     strip libunity-nosuid.so
 
-    # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
-    find . -name PlaybackEngines -prune -o -executable -type f -print | while read path; do
-      patchFile "$path"
-    done
-
     cd ..
   '';
 
@@ -122,6 +93,40 @@ in stdenv.mkDerivation rec {
       --prefix MONO_GAC_PREFIX : "${developDotnetPath}"
   '';
 
+  preFixup = ''
+    patchFile() {
+      ftype="$(file -b "$1")"
+      if [[ "$ftype" =~ LSB\ .*dynamically\ linked ]]; then
+        if [[ "$ftype" =~ 32-bit ]]; then
+          rpath="${libPath32}"
+          intp="$(cat $NIX_CC/nix-support/dynamic-linker-m32)"
+        else
+          rpath="${libPath64}"
+          intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
+        fi
+
+        oldRpath="$(patchelf --print-rpath "$1")"
+        # Always search at least for libraries in origin directory.
+        rpath="''${oldRpath:-\$ORIGIN}:$rpath"
+        if [[ "$ftype" =~ LSB\ shared ]]; then
+          patchelf \
+            --set-rpath "$rpath" \
+            "$1"
+        elif [[ "$ftype" =~ LSB\ executable ]]; then
+          patchelf \
+            --set-rpath "$rpath" \
+            --interpreter "$intp" \
+            "$1"
+        fi
+      fi
+    }
+
+    # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
+    find $unitydir -name PlaybackEngines -prune -o -type f -print | while read path; do
+      patchFile "$path"
+    done
+  '';
+
   dontStrip = true;
   dontPatchELF = true;