Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildDotnetModule 3, fetchFromGitHub 4, dotnetCorePackages 5, glibc 6, zlib 7, libX11 8, libICE 9, libSM 10, fontconfig 11, gtk3 12, copyDesktopItems 13, graphicsmagick 14, wrapGAppsHook 15, makeDesktopItem 16}: 17 18buildDotnetModule rec { 19 pname = "scarab"; 20 version = "1.31.0.0"; 21 22 src = fetchFromGitHub { 23 owner = "fifty-six"; 24 repo = pname; 25 rev = "v${version}"; 26 sha256 = "sha256-oReU0kL0wPR6oqhq/uzO7nD1qo74h36w/gyvgffwzns="; 27 }; 28 29 nugetDeps = ./deps.nix; 30 projectFile = "Scarab.sln"; 31 executables = [ "Scarab" ]; 32 33 runtimeDeps = [ 34 glibc 35 zlib 36 libX11 37 libICE 38 libSM 39 fontconfig 40 gtk3 41 ]; 42 43 buildInputs = [ 44 gtk3 45 ]; 46 47 nativeBuildInputs = [ 48 copyDesktopItems 49 graphicsmagick 50 wrapGAppsHook 51 ]; 52 53 postFixup = '' 54 # Icon for the desktop file 55 mkdir -p $out/share/icons/hicolor/256x256/apps/ 56 gm convert $src/Scarab/Assets/omegamaggotprime.ico $out/share/icons/hicolor/256x256/apps/scarab.png 57 ''; 58 59 desktopItems = [(makeDesktopItem { 60 desktopName = "Scarab"; 61 name = "scarab"; 62 exec = "Scarab"; 63 icon = "scarab"; 64 comment = meta.description; 65 type = "Application"; 66 categories = [ "Game" ]; 67 })]; 68 69 meta = with lib; { 70 description = "Hollow Knight mod installer and manager"; 71 homepage = "https://github.com/fifty-six/Scarab"; 72 downloadPage = "https://github.com/fifty-six/Scarab/releases"; 73 changelog = "https://github.com/fifty-six/Scarab/releases/tag/v${version}"; 74 license = licenses.gpl3Only; 75 maintainers = with maintainers; [ huantian ]; 76 mainProgram = "Scarab"; 77 platforms = platforms.linux; 78 }; 79}