Commit a5ba4bf8 authored by ajs124's avatar ajs124 Committed by Emery Hemingway
Browse files

ue4: remove

Closes https://github.com/NixOS/nixpkgs/issues/17162
has been broken for years
parent 688e3878
Loading
Loading
Loading
Loading

pkgs/games/ue4/cdn-deps.nix

deleted100644 → 0
+0 −7028

File deleted.

Preview size limit exceeded, changes collapsed.

pkgs/games/ue4/default.nix

deleted100644 → 0
+0 −83
Original line number Diff line number Diff line
{ lib, stdenv, writeScript, fetchurl, requireFile, unzip, clang, mono, which,
  xorg, xdg-user-dirs }:

let
  deps = import ./cdn-deps.nix { inherit fetchurl; };
  linkDeps = writeScript "link-deps.sh" (lib.concatMapStringsSep "\n" (hash:
    let prefix = lib.concatStrings (lib.take 2 (lib.stringToCharacters hash));
    in ''
      mkdir -p .git/ue4-gitdeps/${prefix}
      ln -s ${lib.getAttr hash deps} .git/ue4-gitdeps/${prefix}/${hash}
    ''
  ) (lib.attrNames deps));
  libPath = lib.makeLibraryPath [
    xorg.libX11 xorg.libXScrnSaver xorg.libXau xorg.libXcursor xorg.libXext
    xorg.libXfixes xorg.libXi xorg.libXrandr xorg.libXrender xorg.libXxf86vm
    xorg.libxcb
  ];
in
stdenv.mkDerivation rec {
  pname = "ue4";
  version = "4.10.2";
  sourceRoot = "UnrealEngine-${version}-release";
  src = requireFile {
    name = "${sourceRoot}.zip";
    url = "https://github.com/EpicGames/UnrealEngine/releases/tag/${version}";
    sha256 = "1rh6r2z00kjzq1i2235py65bg9i482az4rwr14kq9n4slr60wkk1";
  };
  unpackPhase = ''
    ${unzip}/bin/unzip $src
  '';
  configurePhase = ''
    ${linkDeps}

    # Sometimes mono segfaults and things start downloading instead of being
    # deterministic. Let's just fail in that case.
    export http_proxy="nodownloads"

    patchShebangs Setup.sh
    patchShebangs Engine/Build/BatchFiles/Linux
    ./Setup.sh
    ./GenerateProjectFiles.sh
  '';

  installPhase = ''
    mkdir -p $out/bin $out/share/UnrealEngine

    sharedir="$out/share/UnrealEngine"

    cat << EOF > $out/bin/UE4Editor
    #! $SHELL -e

    sharedir="$sharedir"

    # Can't include spaces, so can't piggy-back off the other Unreal directory.
    workdir="\$HOME/.config/unreal-engine-nix-workdir"
    if [ ! -e "\$workdir" ]; then
      mkdir -p "\$workdir"
      ${xorg.lndir}/bin/lndir "\$sharedir" "\$workdir"
      unlink "\$workdir/Engine/Binaries/Linux/UE4Editor"
      cp "\$sharedir/Engine/Binaries/Linux/UE4Editor" "\$workdir/Engine/Binaries/Linux/UE4Editor"
    fi

    cd "\$workdir/Engine/Binaries/Linux"
    export PATH="${xdg-user-dirs}/bin\''${PATH:+:}\$PATH"
    export LD_LIBRARY_PATH="${libPath}\''${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH"
    exec ./UE4Editor "\$@"
    EOF
    chmod +x $out/bin/UE4Editor

    cp -r . "$sharedir"
  '';
  buildInputs = [ clang mono which xdg-user-dirs ];

  meta = {
    description = "A suite of integrated tools for game developers to design and build games, simulations, and visualizations";
    homepage = "https://www.unrealengine.com/what-is-unreal-engine-4";
    license = lib.licenses.unfree;
    platforms = lib.platforms.linux;
    maintainers = [ ];
    # See issue https://github.com/NixOS/nixpkgs/issues/17162
    broken = true;
  };
}
+0 −37
Original line number Diff line number Diff line
#!/bin/sh

go() {
    file="$1"

    IFS=$'\n'
    for pack in $(perl -n -e '/(<Pack .*\/>)/ && print "$1\n"' $file); do
        remotepath=$(echo "$pack" | perl -n -e '/RemotePath="([^"]*)"/ && print $1')
        hash=$(echo "$pack" | perl -n -e '/Hash="([^"]*)"/ && print $1')
        url="http://cdn.unrealengine.com/dependencies/$remotepath/$hash"

        until sha256=$(nix-prefetch-url $url --type sha256); do
            true
        done

        cat <<EOF
  "$hash" = fetchurl {
    url = $url;
    sha256 = "$sha256";
  };
EOF
    done
}


cat <<EOF
{ fetchurl }:

{
EOF

go Engine/Build/Commit.gitdeps.xml
go Engine/Build/Promoted.gitdeps.xml

cat <<EOF
}
EOF
+1 −0
Original line number Diff line number Diff line
@@ -924,6 +924,7 @@ mapAliases ({
  uade123 = uade; # Added 2022-07-30
  uberwriter = apostrophe; # Added 2020-04-23
  ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21
  ue4 = throw "ue4 has been removed, because the package was broken for years"; # Added 2023-11-22
  uhd3_5 = throw "uhd3_5 has been removed, because it was no longer needed"; # Added 2023-10-07
  uhhyou.lv2 = throw "'uhhyou.lv2' has been removed, upstream gone"; # Added 2023-06-21
  unicorn-emu = unicorn; # Added 2020-10-29
+0 −2
Original line number Diff line number Diff line
@@ -38548,8 +38548,6 @@ with pkgs;
  urbanterror = callPackage ../games/urbanterror { };
  ue4 = callPackage ../games/ue4 { };
  ue4demos = recurseIntoAttrs (callPackage ../games/ue4demos { });
  ut2004Packages = dontRecurseIntoAttrs (callPackage ../games/ut2004 { });