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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
{ lib
, fetchFromGitHub
, fetchpatch2
, stdenv
, cmake
, pkg-config
, protobuf
, python3
, ffmpeg
, libopus
, wrapQtAppsHook
, qtbase
, qtmultimedia
, qtsvg
, qtwayland
, qtdeclarative
, qtwebengine
, SDL2
, libevdev
, udev
, curlFull
, hidapi
, json_c
, fftw
, miniupnpc
, speexdsp
, libplacebo
, vulkan-loader
, vulkan-headers
, libunwind
, shaderc
, lcms2
, libdovi
, xxHash
}:
stdenv.mkDerivation rec {
pname = "chiaki4deck";
version = "1.7.4";
src = fetchFromGitHub {
owner = "streetpea";
repo = pname;
rev = "v${version}";
hash = "sha256-9EF+Mm6nZeo3XYH8KO7e22cJ4e9TWUEinhkm+Z213RU=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
protobuf
python3
python3.pkgs.wrapPython
python3.pkgs.protobuf
python3.pkgs.setuptools
];
buildInputs = [
ffmpeg
libopus
qtbase
qtmultimedia
qtsvg
qtdeclarative
qtwayland
qtwebengine
protobuf
SDL2
curlFull
hidapi
json_c
fftw
miniupnpc
libevdev
udev
speexdsp
libplacebo
vulkan-headers
libunwind
shaderc
lcms2
libdovi
xxHash
];
# handle cmake not being able to identify if curl is built with websocket support, and library name discrepancy when curl not built with cmake
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail ' WS WSS' ""
substituteInPlace lib/CMakeLists.txt \
--replace-fail 'libcurl_shared' 'libcurl'
'';
cmakeFlags = [
"-Wno-dev"
(lib.cmakeFeature "CHIAKI_USE_SYSTEM_CURL" "true")
];
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
];
pythonPath = [
python3.pkgs.requests
];
postInstall = ''
install -Dm755 $src/scripts/psn-account-id.py $out/bin/psn-account-id
'';
postFixup = ''
wrapPythonPrograms
'';
meta = with lib; {
homepage = "https://streetpea.github.io/chiaki4deck/";
description = "Fork of Chiaki (Open Source Playstation Remote Play) with Enhancements for Steam Deck";
# Includes OpenSSL linking exception that we currently have no way
# to represent.
#
# See also: <https://github.com/spdx/license-list-XML/issues/939>
license = licenses.agpl3Only;
maintainers = with maintainers; [ devusb ];
platforms = platforms.linux;
mainProgram = "chiaki";
};
}
|