lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 16.09-beta 83 lines 2.7 kB view raw
1{ stdenv, writeScript, fetchurl, requireFile, unzip, clang_35, mono, which, 2 xorg, xdg-user-dirs }: 3 4let 5 inherit (stdenv) lib; 6 deps = import ./cdn-deps.nix { inherit fetchurl; }; 7 linkDeps = writeScript "link-deps.sh" (lib.concatMapStringsSep "\n" (hash: 8 let prefix = lib.concatStrings (lib.take 2 (lib.stringToCharacters hash)); 9 in '' 10 mkdir -p .git/ue4-gitdeps/${prefix} 11 ln -s ${lib.getAttr hash deps} .git/ue4-gitdeps/${prefix}/${hash} 12 '' 13 ) (lib.attrNames deps)); 14 libPath = stdenv.lib.makeLibraryPath [ 15 xorg.libX11 xorg.libXScrnSaver xorg.libXau xorg.libXcursor xorg.libXext 16 xorg.libXfixes xorg.libXi xorg.libXrandr xorg.libXrender xorg.libXxf86vm 17 xorg.libxcb 18 ]; 19in 20stdenv.mkDerivation rec { 21 name = "ue4-${version}"; 22 version = "4.10.2"; 23 sourceRoot = "UnrealEngine-${version}-release"; 24 src = requireFile { 25 name = "${sourceRoot}.zip"; 26 url = "https://github.com/EpicGames/UnrealEngine/releases/tag/${version}"; 27 sha256 = "1rh6r2z00kjzq1i2235py65bg9i482az4rwr14kq9n4slr60wkk1"; 28 }; 29 unpackPhase = '' 30 ${unzip}/bin/unzip $src 31 ''; 32 configurePhase = '' 33 ${linkDeps} 34 35 # Sometimes mono segfaults and things start downloading instead of being 36 # deterministic. Let's just fail in that case. 37 export http_proxy="nodownloads" 38 39 patchShebangs Setup.sh 40 patchShebangs Engine/Build/BatchFiles/Linux 41 ./Setup.sh 42 ./GenerateProjectFiles.sh 43 ''; 44 45 installPhase = '' 46 mkdir -p $out/bin $out/share/UnrealEngine 47 48 sharedir="$out/share/UnrealEngine" 49 50 cat << EOF > $out/bin/UE4Editor 51 #! $SHELL -e 52 53 sharedir="$sharedir" 54 55 # Can't include spaces, so can't piggy-back off the other Unreal directory. 56 workdir="\$HOME/.config/unreal-engine-nix-workdir" 57 if [ ! -e "\$workdir" ]; then 58 mkdir -p "\$workdir" 59 ${xorg.lndir}/bin/lndir "\$sharedir" "\$workdir" 60 unlink "\$workdir/Engine/Binaries/Linux/UE4Editor" 61 cp "\$sharedir/Engine/Binaries/Linux/UE4Editor" "\$workdir/Engine/Binaries/Linux/UE4Editor" 62 fi 63 64 cd "\$workdir/Engine/Binaries/Linux" 65 export PATH="${xdg-user-dirs}/bin\''${PATH:+:}\$PATH" 66 export LD_LIBRARY_PATH="${libPath}\''${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH" 67 exec ./UE4Editor "\$@" 68 EOF 69 chmod +x $out/bin/UE4Editor 70 71 cp -r . "$sharedir" 72 ''; 73 buildInputs = [ clang_35 mono which xdg-user-dirs ]; 74 75 meta = { 76 description = "A suite of integrated tools for game developers to design and build games, simulations, and visualizations"; 77 homepage = https://www.unrealengine.com/what-is-unreal-engine-4; 78 license = stdenv.lib.licenses.unfree; 79 platforms = stdenv.lib.platforms.linux; 80 maintainers = [ stdenv.lib.maintainers.puffnfresh ]; 81 broken = true; 82 }; 83}