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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
{ stdenv
, lib
, fetchFromGitHub
, wrapQtAppsHook
, pkg-config
, qmake
, qtquickcontrols2
, SDL2
, SDL2_ttf
, libva
, libvdpau
, libxkbcommon
, alsa-lib
, libpulseaudio
, openssl
, libopus
, ffmpeg
, wayland
, darwin
}:
let
inherit (darwin.apple_sdk_11_0.frameworks) AVFoundation AppKit AudioUnit VideoToolbox;
in
stdenv.mkDerivation rec {
pname = "moonlight-qt";
version = "5.0.1";
src = fetchFromGitHub {
owner = "moonlight-stream";
repo = pname;
rev = "v${version}";
sha256 = "sha256-0ONjUqpM1tUnyaEnMgVl7ff6pND7kyqouv2mpgteZP0=";
fetchSubmodules = true;
};
patches = [ ./darwin.diff ];
nativeBuildInputs = [
wrapQtAppsHook
pkg-config
qmake
];
buildInputs = [
qtquickcontrols2
SDL2
SDL2_ttf
openssl
libopus
ffmpeg
] ++ lib.optionals stdenv.isLinux [
libva
libvdpau
libxkbcommon
alsa-lib
libpulseaudio
wayland
] ++ lib.optionals stdenv.isDarwin [
AVFoundation
AppKit
AudioUnit
VideoToolbox
];
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir $out/Applications $out/bin
mv app/Moonlight.app $out/Applications
rm -r $out/Applications/Moonlight.app/Contents/Frameworks
ln -s $out/Applications/Moonlight.app/Contents/MacOS/Moonlight $out/bin/moonlight
'';
meta = with lib; {
description = "Play your PC games on almost any device";
homepage = "https://moonlight-stream.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ luc65r ];
platforms = platforms.all;
mainProgram = "moonlight";
};
}
|