Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 129 lines 2.3 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 stdenv, 5 cmake, 6 pkg-config, 7 protobuf, 8 python3, 9 ffmpeg, 10 libopus, 11 wrapQtAppsHook, 12 qtbase, 13 qtmultimedia, 14 qtsvg, 15 qtwayland, 16 qtdeclarative, 17 qtwebengine, 18 SDL2, 19 libevdev, 20 udev, 21 curlFull, 22 hidapi, 23 json_c, 24 fftw, 25 miniupnpc, 26 nanopb, 27 speexdsp, 28 libplacebo, 29 vulkan-loader, 30 vulkan-headers, 31 libunwind, 32 shaderc, 33 lcms2, 34 libdovi, 35 xxHash, 36}: 37 38stdenv.mkDerivation rec { 39 pname = "chiaki-ng"; 40 version = "1.9.8"; 41 42 src = fetchFromGitHub { 43 owner = "streetpea"; 44 repo = "chiaki-ng"; 45 rev = "v${version}"; 46 hash = "sha256-HQmXbi2diewA/+AMjlkyffvD73TkX6D+lMh+FL2Rcz4="; 47 fetchSubmodules = true; 48 }; 49 50 nativeBuildInputs = [ 51 cmake 52 pkg-config 53 wrapQtAppsHook 54 protobuf 55 python3 56 python3.pkgs.wrapPython 57 python3.pkgs.protobuf 58 python3.pkgs.setuptools 59 ]; 60 61 buildInputs = [ 62 ffmpeg 63 libopus 64 qtbase 65 qtmultimedia 66 qtsvg 67 qtdeclarative 68 qtwayland 69 qtwebengine 70 protobuf 71 SDL2 72 curlFull 73 hidapi 74 json_c 75 fftw 76 miniupnpc 77 nanopb 78 libevdev 79 udev 80 speexdsp 81 libplacebo 82 vulkan-headers 83 libunwind 84 shaderc 85 lcms2 86 libdovi 87 xxHash 88 ]; 89 90 # handle library name discrepancy when curl not built with cmake 91 postPatch = '' 92 substituteInPlace lib/CMakeLists.txt \ 93 --replace-fail 'libcurl_shared' 'libcurl' 94 ''; 95 96 cmakeFlags = [ 97 "-Wno-dev" 98 (lib.cmakeFeature "CHIAKI_USE_SYSTEM_CURL" "true") 99 ]; 100 101 qtWrapperArgs = [ 102 "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" 103 ]; 104 105 pythonPath = [ 106 python3.pkgs.requests 107 ]; 108 109 postInstall = '' 110 install -Dm755 $src/scripts/psn-account-id.py $out/bin/psn-account-id 111 ''; 112 113 postFixup = '' 114 wrapPythonPrograms 115 ''; 116 117 meta = with lib; { 118 homepage = "https://streetpea.github.io/chiaki-ng/"; 119 description = "Next-Generation of Chiaki (the open-source remote play client for PlayStation)"; 120 # Includes OpenSSL linking exception that we currently have no way 121 # to represent. 122 # 123 # See also: <https://github.com/spdx/license-list-XML/issues/939> 124 license = licenses.agpl3Only; 125 maintainers = with maintainers; [ devusb ]; 126 platforms = platforms.linux; 127 mainProgram = "chiaki"; 128 }; 129}