Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 60 lines 1.2 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 cmake, 6 flac, 7 libpulseaudio, 8 qtbase, 9 qtgraphicaleffects, 10 qtquickcontrols2, 11 qtwayland, 12 wrapQtAppsHook, 13 makeWrapper, 14}: 15 16stdenv.mkDerivation (finalAttrs: { 17 pname = "noson"; 18 version = "5.6.13"; 19 20 src = fetchFromGitHub { 21 owner = "janbar"; 22 repo = "noson-app"; 23 rev = finalAttrs.version; 24 hash = "sha256-XJBkPhyDPeyVrcY5Q5W9LtESuVxcbcQ8JoyOzKg+0NU="; 25 }; 26 27 nativeBuildInputs = [ 28 cmake 29 wrapQtAppsHook 30 makeWrapper 31 ]; 32 33 buildInputs = [ 34 flac 35 libpulseaudio 36 qtbase 37 qtgraphicaleffects 38 qtquickcontrols2 39 ] 40 ++ lib.optionals stdenv.hostPlatform.isLinux [ 41 qtwayland 42 ]; 43 44 # wrapQtAppsHook doesn't automatically find noson-gui 45 dontWrapQtApps = true; 46 47 preFixup = '' 48 wrapProgram "$out/bin/noson-app" --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio ]} 49 wrapQtApp "$out/lib/noson/noson-gui" 50 ''; 51 52 meta = with lib; { 53 description = "SONOS controller for Linux (and macOS)"; 54 homepage = "https://janbar.github.io/noson-app/"; 55 mainProgram = "noson-app"; 56 platforms = platforms.linux ++ platforms.darwin; 57 license = [ licenses.gpl3Only ]; 58 maintainers = with maintainers; [ callahad ]; 59 }; 60})