summary refs log tree commit diff
path: root/pkgs/misc/emulators/epsxe/default.nix
blob: 6950e12e889a2c3dd37869a61c7acdf5c6a75187 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
  libX11, openssl, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook }:

with stdenv.lib;

stdenv.mkDerivation rec {
  pname = "epsxe";
  version = "2.0.5";

  src = let
    version2 = concatStrings (splitString "." version);
    platform = "linux" + (optionalString stdenv.is64bit "_x64");
  in fetchurl {
    url = "https://www.epsxe.com/files/ePSXe${version2}${platform}.zip";
    sha256 = if stdenv.is64bit
             then "16fa9qc2xhaz1f6294m0b56s5l86cbmclwm9w3mqnch0yjsrvab0"
             else "1677lclam557kp8jwvchdrk27zfj50fqx2q9i3bcx26d9k61q3kl";
  };

  nativeBuildInputs = [ unzip wrapGAppsHook ];
  sourceRoot = ".";

  buildInputs = [
    alsaLib
    curl
    gdk-pixbuf
    glib
    gtk3
    libX11
    libGLU_combined
    openssl
    ncurses5
    SDL
    SDL_ttf
    stdenv.cc.cc.lib
    zlib
  ];

  dontStrip = true;

  installPhase = ''
    install -D ${if stdenv.is64bit then "epsxe_x64" else "ePSXe"} $out/bin/epsxe
    patchelf \
      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
      --set-rpath ${makeLibraryPath buildInputs} \
      $out/bin/epsxe
  '';

  meta = {
    homepage = http://epsxe.com/;
    description = "Enhanced PSX (PlayStation 1) emulator";
    license = licenses.unfree;
    maintainers = with maintainers; [ yegortimoshenko ];
    platforms = [ "i686-linux" "x86_64-linux" ];
  };
}