lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

celestegame: init at 1.4.0.0{,+everest.5806}

Co-authored-by: Audrey Dutcher <audrey@rhelmot.io>

+1607
+171
pkgs/by-name/ce/celestegame/celeste/default.nix
··· 1 + { 2 + lib, 3 + stdenvNoCC, 4 + requireFile, 5 + makeWrapper, 6 + copyDesktopItems, 7 + makeDesktopItem, 8 + unzip, 9 + yq, 10 + dotnet-runtime_8, 11 + 12 + executableName ? "Celeste", 13 + desktopItems ? null, 14 + everest ? null, 15 + overrideSrc ? null, 16 + writableDir ? null, 17 + launchFlags ? "", 18 + launchEnv ? "", 19 + # If we leave it to be the default (log.txt), 20 + # Everest will try to delete log.txt when it starts, 21 + # which doesn't work because the file system is read-only. 22 + # https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Patches/Celeste.cs#L140-L155 23 + everestLogFilename ? "everest-log.txt", 24 + }: 25 + 26 + # TODO: It appears that it is possible to package Celeste for aarch devices: 27 + # https://github.com/pixelomer/Celeste-ARM64 28 + # However, I don't have an aarch device to do that. 29 + # The ARM support doesn't seem promising because the builder needs to fetch fmod libraries somehow, which requires an account. 30 + # Though this whole process of registration and downloading can possibly be automated, this is probably against the TOS. 31 + let 32 + pname = "celeste-unwrapped"; 33 + version = "1.4.0.0"; 34 + downloadPage = "https://maddymakesgamesinc.itch.io/celeste"; 35 + description = "2D platformer game about climing a mountain"; 36 + phome = "$out/lib/Celeste"; 37 + 38 + launchFlags' = 39 + if launchFlags != "" && everest == null then 40 + lib.warn "launchFlags is useless without Everest." "" 41 + else 42 + launchFlags; 43 + launchEnv' = 44 + if launchEnv != "" && everest == null then 45 + lib.warn "launchEnv is useless without Everest." "" 46 + else 47 + '' 48 + EVEREST_LOG_FILENAME=${everestLogFilename} 49 + EVEREST_TMPDIR=${writableDir} 50 + ${launchEnv} 51 + ''; 52 + in 53 + stdenvNoCC.mkDerivation { 54 + pname = "celeste-unwrapped"; 55 + version = version; 56 + 57 + src = 58 + if overrideSrc == null then 59 + requireFile { 60 + name = "celeste-linux.zip"; 61 + hash = "sha256-phNDBBHb7zwMRaBHT5D0hFEilkx9F31p6IllvLhHQb8="; 62 + url = downloadPage; 63 + } 64 + else 65 + overrideSrc; 66 + dontUnpack = true; 67 + 68 + nativeBuildInputs = [ 69 + unzip 70 + yq 71 + makeWrapper 72 + copyDesktopItems 73 + ]; 74 + desktopItems = 75 + if desktopItems != null then 76 + desktopItems 77 + else 78 + [ 79 + (makeDesktopItem { 80 + name = "Celeste"; 81 + desktopName = "Celeste"; 82 + genericName = "Celeste"; 83 + comment = description; 84 + exec = "${executableName}"; 85 + icon = "Celeste"; 86 + categories = [ "Game" ]; 87 + }) 88 + ]; 89 + 90 + postInstall = '' 91 + mkdir -p ${phome} 92 + unzip -q $src -d ${phome} 93 + '' 94 + + lib.optionalString (everest != null) '' 95 + cp -r ${everest}/* $out 96 + chmod -R +w ${phome} # Files copied from other derivations are not writable by default 97 + 98 + # There will still be a runtime error saying chmod failed for the splash, 99 + # but it doesn't matter because we make it executable here. 100 + # https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Mod/Everest/EverestSplashHandler.cs#L73-L81 101 + chmod +x ${phome}/EverestSplash/EverestSplash-linux 102 + 103 + # Everest determines whether it is FNA or XNA by the existence of the file. 104 + # Creating this now prevents it from creating it in the future 105 + # when the file system is read-only. 106 + # https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Patches/Celeste.cs#L41-L47 107 + touch ${phome}/BuildIsFNA.txt 108 + 109 + # Please Piton by having the runtime. 110 + # Otherwise it will try to download it. 111 + # https://github.com/Popax21/Piton/blob/21c7868d06007f0c5e7d9030a0109fe892df1bf3/apphost/src/runtime.rs#L82-L89 112 + mkdir ${phome}/piton-runtime 113 + ln -s ${dotnet-runtime_8}/share/dotnet/* -t ${phome}/piton-runtime 114 + platform=linux-x86_64 115 + echo -n "$platform $(yq -r .\"$platform\".version ${phome}/piton-runtime.yaml)" > ${phome}/piton-runtime/piton-runtime-id.txt 116 + 117 + chmod +x ${phome}/MiniInstaller-linux 118 + ${phome}/MiniInstaller-linux 119 + 120 + echo "${launchFlags'}" > ${phome}/everest-launch.txt 121 + echo "${launchEnv'}" > ${phome}/everest-env.txt 122 + '' 123 + + ( 124 + if writableDir != null then 125 + '' 126 + mv ${phome}/Celeste ${phome}/Celeste-unwrapped 127 + ln -s ${writableDir}/Celeste ${phome}/Celeste 128 + '' 129 + else 130 + '' 131 + ln -s ${phome}/Celeste ${phome}/Celeste-unwrapped 132 + '' 133 + ) 134 + + '' 135 + makeWrapper ${phome}/Celeste-unwrapped $out/bin/${executableName} ${ 136 + # If ${phome}/lib64-linux is not present in LD_LIBRARY_PATH, Everest will try to restart: 137 + # https://github.com/EverestAPI/Everest/blob/7bd41c26850bbdfef937e2ed929174e864101c4c/Celeste.Mod.mm/Mod/Everest/BOOT.cs#L188-L201 138 + # It is hardcoded that it launches Celeste instead of Celeste-unwrapped. 139 + # Therefore, we need to prevent it from restarting. 140 + lib.optionalString (everest != null) "--prefix LD_LIBRARY_PATH : ${phome}/lib64-linux" 141 + } --chdir ${phome} 142 + 143 + icon=$out/share/icons/hicolor/512x512/apps/Celeste.png 144 + mkdir -p $(dirname $icon) 145 + ln -s ${phome}/Celeste.png $icon 146 + ''; 147 + 148 + dontPatchELF = true; 149 + dontStrip = true; 150 + dontPatchShebangs = true; 151 + postFixup = 152 + lib.optionalString (everest != null) '' 153 + rm -r ${phome}/Mods # Currently it is empty. 154 + ln -s "${writableDir}"/{Mods,LogHistory,CrashLogs,${everestLogFilename}} -t ${phome} 155 + '' 156 + + lib.optionalString (writableDir != null) '' 157 + ln -s "${writableDir}/log.txt" -t ${phome} 158 + ''; 159 + 160 + meta = { 161 + inherit downloadPage description; 162 + homepage = "https://www.celestegame.com"; 163 + license = with lib.licenses; [ unfree ]; 164 + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 165 + maintainers = with lib.maintainers; [ ulysseszhan ]; 166 + platforms = [ 167 + "x86_64-linux" 168 + "i686-linux" 169 + ]; 170 + }; 171 + }
+47
pkgs/by-name/ce/celestegame/everest-bin/default.nix
··· 1 + { 2 + lib, 3 + stdenvNoCC, 4 + fetchzip, 5 + icu, 6 + autoPatchelfHook, 7 + }: 8 + 9 + let 10 + pname = "everest"; 11 + version = "5806"; 12 + phome = "$out/lib/Celeste"; 13 + in 14 + stdenvNoCC.mkDerivation { 15 + inherit pname version; 16 + src = fetchzip { 17 + url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.5806.0/main.zip"; 18 + extension = "zip"; 19 + hash = "sha256-Hw/BNvWfhdO7bvYrY/Px12BRG1SYcCBeAXBH4QnKyeY="; 20 + }; 21 + buildInputs = [ 22 + icu 23 + ]; 24 + nativeBuildInputs = [ 25 + autoPatchelfHook 26 + ]; 27 + postInstall = '' 28 + mkdir -p ${phome} 29 + cp -r * ${phome} 30 + ''; 31 + dontAutoPatchelf = true; 32 + dontPatchELF = true; 33 + dontStrip = true; 34 + dontPatchShebangs = true; 35 + postFixup = '' 36 + autoPatchelf ${phome}/MiniInstaller-linux 37 + ''; 38 + meta = { 39 + description = "Celeste mod loader"; 40 + license = with lib.licenses; [ mit ]; 41 + maintainers = with lib.maintainers; [ ulysseszhan ]; 42 + homepage = "https://everestapi.github.io"; 43 + platforms = [ "x86_64-linux" ]; 44 + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 45 + }; 46 + 47 + }
+107
pkgs/by-name/ce/celestegame/everest/default.nix
··· 1 + { 2 + lib, 3 + fetchurl, 4 + fetchFromGitHub, 5 + buildDotnetModule, 6 + dotnetCorePackages, 7 + autoPatchelfHook, 8 + mono, 9 + git, 10 + icu, 11 + }: 12 + 13 + let 14 + pname = "everest"; 15 + version = "5806"; 16 + phome = "$out/lib/Celeste"; 17 + in 18 + buildDotnetModule { 19 + inherit pname version; 20 + 21 + src = fetchFromGitHub { 22 + owner = "EverestAPI"; 23 + repo = "Everest"; 24 + rev = "e47f67fc8c4b0b60b0a75112c5c90704ed371040"; 25 + fetchSubmodules = true; 26 + leaveDotGit = true; # MonoMod.SourceGen.Internal needs .git 27 + hash = "sha256-uxb9LwCDGJIc+JN2EqNqHdLLwULnG7Bd/Az3H1zKf3E="; 28 + }; 29 + 30 + nativeBuildInputs = [ 31 + git 32 + autoPatchelfHook 33 + ]; 34 + 35 + buildInputs = [ 36 + icu # For autoPatchelf 37 + mono # See upstream README 38 + ]; 39 + 40 + postPatch = '' 41 + # MonoMod.ILHelpers.Patcher complains at build phase: You must install .NET to run this application. 42 + sed -i 's|<Exec Command="&quot;|<Exec Command="DOTNET_ROOT=${dotnetCorePackages.runtime_8_0}/share/dotnet \&quot;|' external/MonoMod/tools/Common.IL.targets 43 + 44 + # Moving files after publishing somehow doesn't work. Will do this manually in postInstall. 45 + sed -i 's|<Move.*/>||' Celeste.Mod.mm/Celeste.Mod.mm.csproj 46 + 47 + autoPatchelf lib-ext/piton/piton-linux_x64 48 + ''; 49 + 50 + dotnet-sdk = dotnetCorePackages.sdk_9_0; 51 + 52 + preConfigure = '' 53 + # Microsoft.SourceLink.GitHub complains: Unable to determine repository url, the source code won't be available via source link. 54 + cd external/MonoMod 55 + git -c safe.directory='*' remote add origin https://github.com/MonoMod/MonoMod.git 56 + cd ../.. 57 + ''; 58 + 59 + nugetDeps = ./deps.json; 60 + 61 + # Needed for ILAsm projects: https://github.com/NixOS/nixpkgs/issues/370754#issuecomment-2571475814 62 + linkNugetPackages = true; 63 + 64 + # Microsoft.NET.Sdk complains: The process cannot access the file xxx because it is being used by another process. 65 + enableParallelBuilding = false; 66 + 67 + preBuild = '' 68 + # See .azure-pipelines/prebuild.ps1 69 + sed -i 's|0\.0\.0-dev|1.${version}.0-nixos-'$(git rev-parse --short=5 HEAD)'|' Celeste.Mod.mm/Mod/Everest/Everest.cs 70 + cat Celeste.Mod.mm/Mod/Everest/Everest.cs 71 + cat <<-EOF > Celeste.Mod.mm/Mod/Helpers/EverestVersion.cs 72 + namespace Celeste.Mod.Helpers { 73 + internal static class EverestBuild${version} { 74 + public static string EverestBuild = "EverestBuild${version}"; 75 + } 76 + } 77 + EOF 78 + ''; 79 + 80 + installPath = builtins.replaceStrings [ "$out" ] [ (placeholder "out") ] phome; 81 + 82 + postInstall = '' 83 + mkdir tmp-EverestSplash 84 + mv ${phome}/EverestSplash* tmp-EverestSplash 85 + mv tmp-EverestSplash ${phome}/EverestSplash 86 + cp ${phome}/piton-runtime.yaml ${phome}/EverestSplash 87 + ''; 88 + 89 + executables = [ ]; 90 + 91 + dontPatchELF = true; 92 + dontStrip = true; 93 + dontPatchShebangs = true; 94 + dontAutoPatchelf = true; 95 + 96 + meta = { 97 + description = "Celeste mod loader"; 98 + license = with lib.licenses; [ mit ]; 99 + maintainers = with lib.maintainers; [ ulysseszhan ]; 100 + homepage = "https://everestapi.github.io"; 101 + platforms = [ "x86_64-linux" ]; 102 + sourceProvenance = with lib.sourceTypes; [ 103 + binaryNativeCode 104 + fromSource 105 + ]; 106 + }; 107 + }
+1037
pkgs/by-name/ce/celestegame/everest/deps.json
··· 1 + [ 2 + { 3 + "pname": "DotNetZip", 4 + "version": "1.16.0", 5 + "hash": "sha256-RlzHkO7DxCvRkr+gpM8Abs34XbovmBTmXfO7LtnE75E=" 6 + }, 7 + { 8 + "pname": "IsExternalInit", 9 + "version": "1.0.3", 10 + "hash": "sha256-UfyGrj+hAfsvS/R7tlugTToD//ax9Fy0CameinRn1AU=" 11 + }, 12 + { 13 + "pname": "Jdenticon-net", 14 + "version": "3.1.2", 15 + "hash": "sha256-tee3C3lYVDiic/8zZkNSuz8fNx7DXQFReIdrlQWRmww=" 16 + }, 17 + { 18 + "pname": "KeraLua", 19 + "version": "1.3.2", 20 + "hash": "sha256-15C9K/S9L3yzB4wmDRNWQoWNskUVcm6qZjCbQQFGMPI=" 21 + }, 22 + { 23 + "pname": "MAB.DotIgnore", 24 + "version": "3.0.2", 25 + "hash": "sha256-iAX3oCX2092oKXEASUhMkh2A1kh1cBRSkkMJ6BmszRA=" 26 + }, 27 + { 28 + "pname": "Microsoft.AspNetCore.App.Ref", 29 + "version": "3.0.1", 30 + "hash": "sha256-y4VQ8teCZOnCJyg0rh3s1SbbqfoEclB5T6lCfMrxWUw=" 31 + }, 32 + { 33 + "pname": "Microsoft.AspNetCore.App.Ref", 34 + "version": "3.1.10", 35 + "hash": "sha256-51D1XkqFMPHJzOmt1HQ0Bf1n9K0auwEyxTJuqA/8xHY=" 36 + }, 37 + { 38 + "pname": "Microsoft.AspNetCore.App.Ref", 39 + "version": "5.0.0", 40 + "hash": "sha256-z22ZDldoIlDUYeF9Rje0aVPlYAGKIpdj5wDzn1CW+jQ=" 41 + }, 42 + { 43 + "pname": "Microsoft.AspNetCore.App.Ref", 44 + "version": "6.0.36", 45 + "hash": "sha256-9jDkWbjw/nd8yqdzVTagCuqr6owJ/DUMi4BlUZT4hWU=" 46 + }, 47 + { 48 + "pname": "Microsoft.AspNetCore.App.Ref", 49 + "version": "7.0.20", 50 + "hash": "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI=" 51 + }, 52 + { 53 + "pname": "Microsoft.AspNetCore.App.Ref", 54 + "version": "8.0.19", 55 + "hash": "sha256-QySX2bih1UvwmLcn9cy1j+RuvZZwbcFKggL5Y/WcTnw=" 56 + }, 57 + { 58 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 59 + "version": "3.0.3", 60 + "hash": "sha256-CbtnZSF+lvyeIfEUC8a0Jf4EMvYAxa9mvWF9lyLymMk=" 61 + }, 62 + { 63 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 64 + "version": "3.1.32", 65 + "hash": "sha256-OV3Ie8JGTEwNI4Y6DJFh+ZUrBTwrSdFjEbfljfAwn3s=" 66 + }, 67 + { 68 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 69 + "version": "5.0.17", 70 + "hash": "sha256-iHn2yGpaL5EM8L7nJJ2aRCIZ+kE98NS+KWUvrWnjzhg=" 71 + }, 72 + { 73 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 74 + "version": "6.0.36", 75 + "hash": "sha256-zUsVIpV481vMLAXaLEEUpEMA9/f1HGOnvaQnaWdzlyY=" 76 + }, 77 + { 78 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 79 + "version": "7.0.20", 80 + "hash": "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA=" 81 + }, 82 + { 83 + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", 84 + "version": "8.0.19", 85 + "hash": "sha256-u50rdLuoADSDCthx2Fg+AnT192TalHhFrzFCfMgmTn4=" 86 + }, 87 + { 88 + "pname": "Microsoft.Build.Tasks.Git", 89 + "version": "1.1.0", 90 + "hash": "sha256-cwZU5VeF6aRZJqoIevJtF9hdYC1rKEf1GuqgCmoVAzE=" 91 + }, 92 + { 93 + "pname": "Microsoft.Build.Tasks.Git", 94 + "version": "8.0.0", 95 + "hash": "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA=" 96 + }, 97 + { 98 + "pname": "Microsoft.CodeAnalysis.Analyzers", 99 + "version": "3.3.4", 100 + "hash": "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE=" 101 + }, 102 + { 103 + "pname": "Microsoft.CodeAnalysis.BannedApiAnalyzers", 104 + "version": "3.3.4", 105 + "hash": "sha256-YPTHTZ8xRPMLADdcVYRO/eq3O9uZjsD+OsGRZE+0+e8=" 106 + }, 107 + { 108 + "pname": "Microsoft.CodeAnalysis.Common", 109 + "version": "4.12.0", 110 + "hash": "sha256-mm/OKG3zPLAeTVGZtuLxSG+jpQDOchn1oyHqBBJW2Ho=" 111 + }, 112 + { 113 + "pname": "Microsoft.CodeAnalysis.CSharp", 114 + "version": "4.12.0", 115 + "hash": "sha256-m1i1Q5pyEq4lAoYjNE9baEjTplH8+bXx5wSA+eMmehk=" 116 + }, 117 + { 118 + "pname": "Microsoft.CodeAnalysis.CSharp.CodeStyle", 119 + "version": "4.12.0", 120 + "hash": "sha256-c9JyQNTMTr8WoNGzk3KDyaQuZjpkyBnM5I3P5oJwIkU=" 121 + }, 122 + { 123 + "pname": "Microsoft.Net.Compilers.Toolset", 124 + "version": "4.12.0", 125 + "hash": "sha256-/iTvMab/y3xJOD0v02J2Pe4pGtm52YzAwZ74AgO5nrw=" 126 + }, 127 + { 128 + "pname": "Microsoft.NET.HostModel", 129 + "version": "3.1.16", 130 + "hash": "sha256-42cFtaZFzM93I0gZjuDbcEYWM5Pld+kx2MkWu0J66ww=" 131 + }, 132 + { 133 + "pname": "Microsoft.NET.Sdk.IL", 134 + "version": "8.0.0", 135 + "hash": "sha256-guQcVwSaVwJ0uJvUYZqk1bZ9ATLBk3zWHZmTW7EV1KM=" 136 + }, 137 + { 138 + "pname": "Microsoft.NETCore.App", 139 + "version": "2.1.0", 140 + "hash": "sha256-RJksv5W7LhWJYGmkwYHfiU0s9XLCvT05KxSMz6U1/OE=" 141 + }, 142 + { 143 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 144 + "version": "3.0.3", 145 + "hash": "sha256-hIdA8ncOXoDM6/ryKCTVz/vZrqFLffxAgpN/qfl2L6Y=" 146 + }, 147 + { 148 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 149 + "version": "3.1.32", 150 + "hash": "sha256-ajR6pZv0zuzWDyxEnWtAuhasV5biV5lvweEbefTISiM=" 151 + }, 152 + { 153 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 154 + "version": "5.0.17", 155 + "hash": "sha256-exMpVamk8ZzfCQDQcDmQDYJplDcOOU99ic7NSDKUgtE=" 156 + }, 157 + { 158 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 159 + "version": "6.0.36", 160 + "hash": "sha256-VFRDzx7LJuvI5yzKdGmw/31NYVbwHWPKQvueQt5xc10=" 161 + }, 162 + { 163 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 164 + "version": "7.0.20", 165 + "hash": "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc=" 166 + }, 167 + { 168 + "pname": "Microsoft.NETCore.App.Host.linux-x64", 169 + "version": "8.0.19", 170 + "hash": "sha256-a9t/bX+WIKOu9q2R52b/hPGwOpkAgpYuP42SW2QXTak=" 171 + }, 172 + { 173 + "pname": "Microsoft.NETCore.App.Ref", 174 + "version": "3.0.0", 175 + "hash": "sha256-PHovvd+mPN9HoCF0rFEnS015p7Yj76+e9cfSU4JAI+I=" 176 + }, 177 + { 178 + "pname": "Microsoft.NETCore.App.Ref", 179 + "version": "3.1.0", 180 + "hash": "sha256-nuAvHwmJ2s3Ob1qNDH1+uV3awOZaWlaV3FenTmPUWyM=" 181 + }, 182 + { 183 + "pname": "Microsoft.NETCore.App.Ref", 184 + "version": "5.0.0", 185 + "hash": "sha256-kQ8wpR4crWoqy/jrskat34Y3Nr3nbxoSpEPMnxycwtw=" 186 + }, 187 + { 188 + "pname": "Microsoft.NETCore.App.Ref", 189 + "version": "6.0.36", 190 + "hash": "sha256-9LZgVoIFF8qNyUu8kdJrYGLutMF/cL2K82HN2ywwlx8=" 191 + }, 192 + { 193 + "pname": "Microsoft.NETCore.App.Ref", 194 + "version": "7.0.20", 195 + "hash": "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs=" 196 + }, 197 + { 198 + "pname": "Microsoft.NETCore.App.Ref", 199 + "version": "8.0.19", 200 + "hash": "sha256-4ymel0R1c0HrX0plAWubJPzev52y0Fsx1esyQ1R7bXc=" 201 + }, 202 + { 203 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 204 + "version": "3.0.3", 205 + "hash": "sha256-mxA9JF2WyEDV8yahdwhe4qfCTbIFroUfmMzPBa91b/o=" 206 + }, 207 + { 208 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 209 + "version": "3.1.32", 210 + "hash": "sha256-h4HjfRnvH81dW84S3TCPcCfxeQLiLN7b1ZleRNsprFY=" 211 + }, 212 + { 213 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 214 + "version": "5.0.17", 215 + "hash": "sha256-2NpVvrbqct3M1fKiSe/zyt41mf1aV6WUdxIlJod27Ek=" 216 + }, 217 + { 218 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 219 + "version": "6.0.36", 220 + "hash": "sha256-U8wJ2snSDFqeAgDVLXjnniidC7Cr5aJ1/h/BMSlyu0c=" 221 + }, 222 + { 223 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 224 + "version": "7.0.20", 225 + "hash": "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ=" 226 + }, 227 + { 228 + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", 229 + "version": "8.0.19", 230 + "hash": "sha256-Ou51zUFTPESAAzP/z0+sLDAAXC54+oDlESBBT12M2lM=" 231 + }, 232 + { 233 + "pname": "Microsoft.NETCore.DotNetAppHost", 234 + "version": "2.1.0", 235 + "hash": "sha256-LV8pnNFsKGFONyCTGsd8qB5A+EUIiyvbYWAr0eOEFoI=" 236 + }, 237 + { 238 + "pname": "Microsoft.NETCore.DotNetHostPolicy", 239 + "version": "2.1.0", 240 + "hash": "sha256-FqQm4BLznzRmF1nhk3nEwrdeAdCY35eBmHk6/4+MCPY=" 241 + }, 242 + { 243 + "pname": "Microsoft.NETCore.DotNetHostResolver", 244 + "version": "2.1.0", 245 + "hash": "sha256-5nQTmMhaEvbuT+1f7u0t0tEK3SCVUeXhsExq8tiYBI0=" 246 + }, 247 + { 248 + "pname": "Microsoft.NETCore.Platforms", 249 + "version": "1.1.0", 250 + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" 251 + }, 252 + { 253 + "pname": "Microsoft.NETCore.Platforms", 254 + "version": "2.1.0", 255 + "hash": "sha256-v09ltBAKTX8iAKuU2nCl+Op/ilVJQ0POZUh2z+u0rVo=" 256 + }, 257 + { 258 + "pname": "Microsoft.NETCore.Platforms", 259 + "version": "3.1.0", 260 + "hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0=" 261 + }, 262 + { 263 + "pname": "Microsoft.NETCore.Platforms", 264 + "version": "3.1.1", 265 + "hash": "sha256-ByV7aEFjGR4L4Tudg4KaJ96lnzr7RhOxzWGE0p5XFRY=" 266 + }, 267 + { 268 + "pname": "Microsoft.NETCore.Targets", 269 + "version": "1.1.0", 270 + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" 271 + }, 272 + { 273 + "pname": "Microsoft.NETCore.Targets", 274 + "version": "2.1.0", 275 + "hash": "sha256-+KdWdA9I392SRqMb9KaiiRZatfvJ9RcdbtyGUkpHW7U=" 276 + }, 277 + { 278 + "pname": "Microsoft.NETFramework.ReferenceAssemblies", 279 + "version": "1.0.3", 280 + "hash": "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE=" 281 + }, 282 + { 283 + "pname": "Microsoft.NETFramework.ReferenceAssemblies.net35", 284 + "version": "1.0.3", 285 + "hash": "sha256-sWFWERqIZw2Rp1f71GX8tIVuA0saTVI64sQaRw81ePk=" 286 + }, 287 + { 288 + "pname": "Microsoft.NETFramework.ReferenceAssemblies.net452", 289 + "version": "1.0.3", 290 + "hash": "sha256-RTPuFG8D7gnwINEoEtAqmVm4oTW8K4Z87v1o4DDeLMI=" 291 + }, 292 + { 293 + "pname": "Microsoft.NETFramework.ReferenceAssemblies.net461", 294 + "version": "1.0.3", 295 + "hash": "sha256-vVIonl+4dlCQuxibOZoGR3o1DAhjAYpFW15dnkUpjMk=" 296 + }, 297 + { 298 + "pname": "Microsoft.SourceLink.Common", 299 + "version": "1.1.0", 300 + "hash": "sha256-bVbHHr6Mo1NUdaaQgfj1GvGPzrobRlYb2pI7f4VDslk=" 301 + }, 302 + { 303 + "pname": "Microsoft.SourceLink.Common", 304 + "version": "8.0.0", 305 + "hash": "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc=" 306 + }, 307 + { 308 + "pname": "Microsoft.SourceLink.GitHub", 309 + "version": "1.1.0", 310 + "hash": "sha256-Y5zUGJfiSj8/rQ1lK0t5Zje8rjoUhgbWrR8IpwtzB34=" 311 + }, 312 + { 313 + "pname": "Microsoft.SourceLink.GitHub", 314 + "version": "8.0.0", 315 + "hash": "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0=" 316 + }, 317 + { 318 + "pname": "Microsoft.Win32.Primitives", 319 + "version": "4.3.0", 320 + "hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg=" 321 + }, 322 + { 323 + "pname": "Microsoft.Win32.SystemEvents", 324 + "version": "8.0.0", 325 + "hash": "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ=" 326 + }, 327 + { 328 + "pname": "Mono.Cecil", 329 + "version": "0.10.4", 330 + "hash": "sha256-NFGkoRKoG+C/drjcK8o5as3wRV2AyJYeeQPOH7NcKpo=" 331 + }, 332 + { 333 + "pname": "Mono.Cecil", 334 + "version": "0.11.5", 335 + "hash": "sha256-nPFwbzW08gnCjadBdgi+16MHYhsPAXnFIliveLxGaNA=" 336 + }, 337 + { 338 + "pname": "MonoMod.Backports", 339 + "version": "1.1.0", 340 + "hash": "sha256-ruRX10/u+lRfMKr0UMbCVYS/nUK5fzV4+8ujJXBnles=" 341 + }, 342 + { 343 + "pname": "MonoMod.Core", 344 + "version": "1.0.0", 345 + "hash": "sha256-Y55fgMd0d35qztqqC0drzn3NdSMYLiWie8IL9LbmFnc=" 346 + }, 347 + { 348 + "pname": "MonoMod.ILHelpers", 349 + "version": "1.0.0", 350 + "hash": "sha256-N6ybnOMkEtxXy/PdJAEkqHggHYSLETbCMF+mgNGXAvo=" 351 + }, 352 + { 353 + "pname": "MonoMod.Patcher", 354 + "version": "25.0.0-prerelease.1", 355 + "hash": "sha256-+5kddzc3FheDIRNoTPWQREc1ufVFjfPFiiKrXTPCTWQ=" 356 + }, 357 + { 358 + "pname": "MonoMod.RuntimeDetour", 359 + "version": "25.0.0", 360 + "hash": "sha256-yyP3kTN+OcOoO8xmHZfebKB/EtWNi7V6aJnXUTjVU/8=" 361 + }, 362 + { 363 + "pname": "MonoMod.RuntimeDetour.HookGen", 364 + "version": "22.7.31.1", 365 + "hash": "sha256-kjxLqU4/DprV1vyPfvC7nTTa6ShLS3HBFGiDXmHAEJw=" 366 + }, 367 + { 368 + "pname": "MonoMod.Utils", 369 + "version": "25.0.0", 370 + "hash": "sha256-PL7/F0zXnLRb5icD5zl/QCeMyTEsJZKOvSBvM1t8BEY=" 371 + }, 372 + { 373 + "pname": "NETStandard.Library", 374 + "version": "1.6.1", 375 + "hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw=" 376 + }, 377 + { 378 + "pname": "NETStandard.Library", 379 + "version": "2.0.3", 380 + "hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo=" 381 + }, 382 + { 383 + "pname": "Newtonsoft.Json", 384 + "version": "13.0.3", 385 + "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc=" 386 + }, 387 + { 388 + "pname": "NuGetizer", 389 + "version": "1.2.3", 390 + "hash": "sha256-KxvcV650WNBqpSn3S6xVjH95PT5mnUb3pPYBPleWHRM=" 391 + }, 392 + { 393 + "pname": "Nullable", 394 + "version": "1.3.1", 395 + "hash": "sha256-5x5+l+7YhKjlBR9GEFKrZ8uewyB7eNxMAREwITDJmUM=" 396 + }, 397 + { 398 + "pname": "PolySharp", 399 + "version": "1.14.1", 400 + "hash": "sha256-l6hz+SG+cEO817xTMq4DbJSJVnRe6Ffr+uJGVj/t170=" 401 + }, 402 + { 403 + "pname": "runtime.any.System.Collections", 404 + "version": "4.3.0", 405 + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" 406 + }, 407 + { 408 + "pname": "runtime.any.System.Diagnostics.Tools", 409 + "version": "4.3.0", 410 + "hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I=" 411 + }, 412 + { 413 + "pname": "runtime.any.System.Diagnostics.Tracing", 414 + "version": "4.3.0", 415 + "hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI=" 416 + }, 417 + { 418 + "pname": "runtime.any.System.Globalization", 419 + "version": "4.3.0", 420 + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" 421 + }, 422 + { 423 + "pname": "runtime.any.System.Globalization.Calendars", 424 + "version": "4.3.0", 425 + "hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4=" 426 + }, 427 + { 428 + "pname": "runtime.any.System.IO", 429 + "version": "4.3.0", 430 + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" 431 + }, 432 + { 433 + "pname": "runtime.any.System.Reflection", 434 + "version": "4.3.0", 435 + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" 436 + }, 437 + { 438 + "pname": "runtime.any.System.Reflection.Extensions", 439 + "version": "4.3.0", 440 + "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=" 441 + }, 442 + { 443 + "pname": "runtime.any.System.Reflection.Primitives", 444 + "version": "4.3.0", 445 + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" 446 + }, 447 + { 448 + "pname": "runtime.any.System.Resources.ResourceManager", 449 + "version": "4.3.0", 450 + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" 451 + }, 452 + { 453 + "pname": "runtime.any.System.Runtime", 454 + "version": "4.3.0", 455 + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" 456 + }, 457 + { 458 + "pname": "runtime.any.System.Runtime.Handles", 459 + "version": "4.3.0", 460 + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" 461 + }, 462 + { 463 + "pname": "runtime.any.System.Runtime.InteropServices", 464 + "version": "4.3.0", 465 + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" 466 + }, 467 + { 468 + "pname": "runtime.any.System.Text.Encoding", 469 + "version": "4.3.0", 470 + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" 471 + }, 472 + { 473 + "pname": "runtime.any.System.Text.Encoding.Extensions", 474 + "version": "4.3.0", 475 + "hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM=" 476 + }, 477 + { 478 + "pname": "runtime.any.System.Threading.Tasks", 479 + "version": "4.3.0", 480 + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" 481 + }, 482 + { 483 + "pname": "runtime.any.System.Threading.Timer", 484 + "version": "4.3.0", 485 + "hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs=" 486 + }, 487 + { 488 + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", 489 + "version": "4.3.0", 490 + "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=" 491 + }, 492 + { 493 + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", 494 + "version": "4.3.0", 495 + "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=" 496 + }, 497 + { 498 + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", 499 + "version": "4.3.0", 500 + "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=" 501 + }, 502 + { 503 + "pname": "runtime.linux-x64.Microsoft.NETCore.App", 504 + "version": "2.1.0", 505 + "hash": "sha256-qFtPLe3t/V9DZTaYhAO6MbVsyzH4hcQQUvyIJ6ywbEw=" 506 + }, 507 + { 508 + "pname": "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost", 509 + "version": "2.1.0", 510 + "hash": "sha256-NMuEFKc68Vn4bVoX6kdGSQeyDpktUYliUg6Lbj4E8FU=" 511 + }, 512 + { 513 + "pname": "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy", 514 + "version": "2.1.0", 515 + "hash": "sha256-U/WlbUpImqPjZf075WgBOb1o1i1H3VOL4QbzHfQ9Itk=" 516 + }, 517 + { 518 + "pname": "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver", 519 + "version": "2.1.0", 520 + "hash": "sha256-vcB6FY1GDP+kTsmp9OXpPg50sXKqOSJzWUSuNlN1+rs=" 521 + }, 522 + { 523 + "pname": "runtime.linux-x64.Microsoft.NETCore.ILAsm", 524 + "version": "6.0.0", 525 + "hash": "sha256-i/UcSf9HhYBtscSZKsaPReL/ntN8EQhmEpFIkEfoGhQ=" 526 + }, 527 + { 528 + "pname": "runtime.linux-x64.Microsoft.NETCore.ILDAsm", 529 + "version": "6.0.0", 530 + "hash": "sha256-flN7eEFoqIUmbuGHgVu/R1F7trwjOXwxmBVw/+Jv2Hg=" 531 + }, 532 + { 533 + "pname": "runtime.native.System", 534 + "version": "4.3.0", 535 + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" 536 + }, 537 + { 538 + "pname": "runtime.native.System.IO.Compression", 539 + "version": "4.3.0", 540 + "hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8=" 541 + }, 542 + { 543 + "pname": "runtime.native.System.Net.Http", 544 + "version": "4.3.0", 545 + "hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg=" 546 + }, 547 + { 548 + "pname": "runtime.native.System.Security.Cryptography.Apple", 549 + "version": "4.3.0", 550 + "hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw=" 551 + }, 552 + { 553 + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", 554 + "version": "4.3.0", 555 + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" 556 + }, 557 + { 558 + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", 559 + "version": "4.3.0", 560 + "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=" 561 + }, 562 + { 563 + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", 564 + "version": "4.3.0", 565 + "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=" 566 + }, 567 + { 568 + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple", 569 + "version": "4.3.0", 570 + "hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM=" 571 + }, 572 + { 573 + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", 574 + "version": "4.3.0", 575 + "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=" 576 + }, 577 + { 578 + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", 579 + "version": "4.3.0", 580 + "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=" 581 + }, 582 + { 583 + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", 584 + "version": "4.3.0", 585 + "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=" 586 + }, 587 + { 588 + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", 589 + "version": "4.3.0", 590 + "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=" 591 + }, 592 + { 593 + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", 594 + "version": "4.3.0", 595 + "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=" 596 + }, 597 + { 598 + "pname": "runtime.unix.Microsoft.Win32.Primitives", 599 + "version": "4.3.0", 600 + "hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg=" 601 + }, 602 + { 603 + "pname": "runtime.unix.System.Console", 604 + "version": "4.3.0", 605 + "hash": "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190=" 606 + }, 607 + { 608 + "pname": "runtime.unix.System.Diagnostics.Debug", 609 + "version": "4.3.0", 610 + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" 611 + }, 612 + { 613 + "pname": "runtime.unix.System.IO.FileSystem", 614 + "version": "4.3.0", 615 + "hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I=" 616 + }, 617 + { 618 + "pname": "runtime.unix.System.Net.Primitives", 619 + "version": "4.3.0", 620 + "hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0=" 621 + }, 622 + { 623 + "pname": "runtime.unix.System.Net.Sockets", 624 + "version": "4.3.0", 625 + "hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4=" 626 + }, 627 + { 628 + "pname": "runtime.unix.System.Private.Uri", 629 + "version": "4.3.0", 630 + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" 631 + }, 632 + { 633 + "pname": "runtime.unix.System.Runtime.Extensions", 634 + "version": "4.3.0", 635 + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" 636 + }, 637 + { 638 + "pname": "System.AppContext", 639 + "version": "4.3.0", 640 + "hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg=" 641 + }, 642 + { 643 + "pname": "System.Buffers", 644 + "version": "4.3.0", 645 + "hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk=" 646 + }, 647 + { 648 + "pname": "System.Buffers", 649 + "version": "4.5.1", 650 + "hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI=" 651 + }, 652 + { 653 + "pname": "System.Collections", 654 + "version": "4.3.0", 655 + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" 656 + }, 657 + { 658 + "pname": "System.Collections.Concurrent", 659 + "version": "4.3.0", 660 + "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI=" 661 + }, 662 + { 663 + "pname": "System.Collections.Immutable", 664 + "version": "6.0.0", 665 + "hash": "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs=" 666 + }, 667 + { 668 + "pname": "System.Collections.Immutable", 669 + "version": "8.0.0", 670 + "hash": "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w=" 671 + }, 672 + { 673 + "pname": "System.Console", 674 + "version": "4.3.0", 675 + "hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo=" 676 + }, 677 + { 678 + "pname": "System.Diagnostics.Debug", 679 + "version": "4.3.0", 680 + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" 681 + }, 682 + { 683 + "pname": "System.Diagnostics.DiagnosticSource", 684 + "version": "4.3.0", 685 + "hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw=" 686 + }, 687 + { 688 + "pname": "System.Diagnostics.Tools", 689 + "version": "4.3.0", 690 + "hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y=" 691 + }, 692 + { 693 + "pname": "System.Diagnostics.Tracing", 694 + "version": "4.3.0", 695 + "hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q=" 696 + }, 697 + { 698 + "pname": "System.Drawing.Common", 699 + "version": "8.0.0", 700 + "hash": "sha256-xPNnKUTcZiqnTtRgI2YazMoZgay/prwKrJjbZUbVmcg=" 701 + }, 702 + { 703 + "pname": "System.Globalization", 704 + "version": "4.3.0", 705 + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" 706 + }, 707 + { 708 + "pname": "System.Globalization.Calendars", 709 + "version": "4.3.0", 710 + "hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc=" 711 + }, 712 + { 713 + "pname": "System.Globalization.Extensions", 714 + "version": "4.3.0", 715 + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" 716 + }, 717 + { 718 + "pname": "System.IO", 719 + "version": "4.3.0", 720 + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" 721 + }, 722 + { 723 + "pname": "System.IO.Compression", 724 + "version": "4.3.0", 725 + "hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA=" 726 + }, 727 + { 728 + "pname": "System.IO.Compression.ZipFile", 729 + "version": "4.3.0", 730 + "hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs=" 731 + }, 732 + { 733 + "pname": "System.IO.FileSystem", 734 + "version": "4.3.0", 735 + "hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw=" 736 + }, 737 + { 738 + "pname": "System.IO.FileSystem.Primitives", 739 + "version": "4.3.0", 740 + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" 741 + }, 742 + { 743 + "pname": "System.Linq", 744 + "version": "4.3.0", 745 + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" 746 + }, 747 + { 748 + "pname": "System.Linq.Expressions", 749 + "version": "4.3.0", 750 + "hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8=" 751 + }, 752 + { 753 + "pname": "System.Memory", 754 + "version": "4.5.5", 755 + "hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI=" 756 + }, 757 + { 758 + "pname": "System.Net.Http", 759 + "version": "4.3.0", 760 + "hash": "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q=" 761 + }, 762 + { 763 + "pname": "System.Net.NameResolution", 764 + "version": "4.3.0", 765 + "hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c=" 766 + }, 767 + { 768 + "pname": "System.Net.Primitives", 769 + "version": "4.3.0", 770 + "hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE=" 771 + }, 772 + { 773 + "pname": "System.Net.Sockets", 774 + "version": "4.3.0", 775 + "hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus=" 776 + }, 777 + { 778 + "pname": "System.Numerics.Vectors", 779 + "version": "4.4.0", 780 + "hash": "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U=" 781 + }, 782 + { 783 + "pname": "System.Numerics.Vectors", 784 + "version": "4.5.0", 785 + "hash": "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8=" 786 + }, 787 + { 788 + "pname": "System.ObjectModel", 789 + "version": "4.3.0", 790 + "hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q=" 791 + }, 792 + { 793 + "pname": "System.Private.Uri", 794 + "version": "4.3.0", 795 + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" 796 + }, 797 + { 798 + "pname": "System.Reflection", 799 + "version": "4.3.0", 800 + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" 801 + }, 802 + { 803 + "pname": "System.Reflection.Emit", 804 + "version": "4.3.0", 805 + "hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU=" 806 + }, 807 + { 808 + "pname": "System.Reflection.Emit", 809 + "version": "4.7.0", 810 + "hash": "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg=" 811 + }, 812 + { 813 + "pname": "System.Reflection.Emit.ILGeneration", 814 + "version": "4.3.0", 815 + "hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA=" 816 + }, 817 + { 818 + "pname": "System.Reflection.Emit.ILGeneration", 819 + "version": "4.7.0", 820 + "hash": "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE=" 821 + }, 822 + { 823 + "pname": "System.Reflection.Emit.Lightweight", 824 + "version": "4.3.0", 825 + "hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I=" 826 + }, 827 + { 828 + "pname": "System.Reflection.Emit.Lightweight", 829 + "version": "4.7.0", 830 + "hash": "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU=" 831 + }, 832 + { 833 + "pname": "System.Reflection.Extensions", 834 + "version": "4.3.0", 835 + "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=" 836 + }, 837 + { 838 + "pname": "System.Reflection.Metadata", 839 + "version": "1.5.0", 840 + "hash": "sha256-wM75ACJUeypeOdaBUj4oTYiSWmg7A1usMpwRQXjSGK8=" 841 + }, 842 + { 843 + "pname": "System.Reflection.Metadata", 844 + "version": "8.0.0", 845 + "hash": "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE=" 846 + }, 847 + { 848 + "pname": "System.Reflection.Primitives", 849 + "version": "4.3.0", 850 + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" 851 + }, 852 + { 853 + "pname": "System.Reflection.TypeExtensions", 854 + "version": "4.3.0", 855 + "hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng=" 856 + }, 857 + { 858 + "pname": "System.Resources.ResourceManager", 859 + "version": "4.3.0", 860 + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" 861 + }, 862 + { 863 + "pname": "System.Runtime", 864 + "version": "4.3.0", 865 + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" 866 + }, 867 + { 868 + "pname": "System.Runtime.CompilerServices.Unsafe", 869 + "version": "4.5.3", 870 + "hash": "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak=" 871 + }, 872 + { 873 + "pname": "System.Runtime.CompilerServices.Unsafe", 874 + "version": "6.0.0", 875 + "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I=" 876 + }, 877 + { 878 + "pname": "System.Runtime.Extensions", 879 + "version": "4.3.0", 880 + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" 881 + }, 882 + { 883 + "pname": "System.Runtime.Handles", 884 + "version": "4.3.0", 885 + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" 886 + }, 887 + { 888 + "pname": "System.Runtime.InteropServices", 889 + "version": "4.3.0", 890 + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" 891 + }, 892 + { 893 + "pname": "System.Runtime.InteropServices.RuntimeInformation", 894 + "version": "4.3.0", 895 + "hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA=" 896 + }, 897 + { 898 + "pname": "System.Runtime.Numerics", 899 + "version": "4.3.0", 900 + "hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc=" 901 + }, 902 + { 903 + "pname": "System.Security.AccessControl", 904 + "version": "4.7.0", 905 + "hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g=" 906 + }, 907 + { 908 + "pname": "System.Security.Cryptography.Algorithms", 909 + "version": "4.3.0", 910 + "hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8=" 911 + }, 912 + { 913 + "pname": "System.Security.Cryptography.Cng", 914 + "version": "4.3.0", 915 + "hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw=" 916 + }, 917 + { 918 + "pname": "System.Security.Cryptography.Csp", 919 + "version": "4.3.0", 920 + "hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ=" 921 + }, 922 + { 923 + "pname": "System.Security.Cryptography.Encoding", 924 + "version": "4.3.0", 925 + "hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss=" 926 + }, 927 + { 928 + "pname": "System.Security.Cryptography.OpenSsl", 929 + "version": "4.3.0", 930 + "hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4=" 931 + }, 932 + { 933 + "pname": "System.Security.Cryptography.Primitives", 934 + "version": "4.3.0", 935 + "hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318=" 936 + }, 937 + { 938 + "pname": "System.Security.Cryptography.X509Certificates", 939 + "version": "4.3.0", 940 + "hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0=" 941 + }, 942 + { 943 + "pname": "System.Security.Permissions", 944 + "version": "4.7.0", 945 + "hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40=" 946 + }, 947 + { 948 + "pname": "System.Security.Principal.Windows", 949 + "version": "4.3.0", 950 + "hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE=" 951 + }, 952 + { 953 + "pname": "System.Security.Principal.Windows", 954 + "version": "4.7.0", 955 + "hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg=" 956 + }, 957 + { 958 + "pname": "System.Text.Encoding", 959 + "version": "4.3.0", 960 + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" 961 + }, 962 + { 963 + "pname": "System.Text.Encoding.CodePages", 964 + "version": "4.7.1", 965 + "hash": "sha256-OUA8ttAKGgqD5KUwtnO2OewBF/tJI0nO3YcunK5qMPg=" 966 + }, 967 + { 968 + "pname": "System.Text.Encoding.CodePages", 969 + "version": "7.0.0", 970 + "hash": "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo=" 971 + }, 972 + { 973 + "pname": "System.Text.Encoding.Extensions", 974 + "version": "4.3.0", 975 + "hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc=" 976 + }, 977 + { 978 + "pname": "System.Text.RegularExpressions", 979 + "version": "4.3.0", 980 + "hash": "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0=" 981 + }, 982 + { 983 + "pname": "System.Threading", 984 + "version": "4.3.0", 985 + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" 986 + }, 987 + { 988 + "pname": "System.Threading.Tasks", 989 + "version": "4.3.0", 990 + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" 991 + }, 992 + { 993 + "pname": "System.Threading.Tasks.Extensions", 994 + "version": "4.3.0", 995 + "hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc=" 996 + }, 997 + { 998 + "pname": "System.Threading.Tasks.Extensions", 999 + "version": "4.5.4", 1000 + "hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng=" 1001 + }, 1002 + { 1003 + "pname": "System.Threading.ThreadPool", 1004 + "version": "4.3.0", 1005 + "hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg=" 1006 + }, 1007 + { 1008 + "pname": "System.Threading.Timer", 1009 + "version": "4.3.0", 1010 + "hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s=" 1011 + }, 1012 + { 1013 + "pname": "System.ValueTuple", 1014 + "version": "4.5.0", 1015 + "hash": "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI=" 1016 + }, 1017 + { 1018 + "pname": "System.Windows.Extensions", 1019 + "version": "4.7.0", 1020 + "hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU=" 1021 + }, 1022 + { 1023 + "pname": "System.Xml.ReaderWriter", 1024 + "version": "4.3.0", 1025 + "hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA=" 1026 + }, 1027 + { 1028 + "pname": "System.Xml.XDocument", 1029 + "version": "4.3.0", 1030 + "hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI=" 1031 + }, 1032 + { 1033 + "pname": "YamlDotNet", 1034 + "version": "16.1.3", 1035 + "hash": "sha256-xsti5h1ZUCS9Jvb4UGKdHrEudJIQXrbOe0USxSjWqjc=" 1036 + } 1037 + ]
+222
pkgs/by-name/ce/celestegame/package.nix
··· 1 + { 2 + lib, 3 + callPackage, 4 + buildFHSEnv, 5 + fetchzip, 6 + makeDesktopItem, 7 + writeShellScript, 8 + autoPatchelfHook, 9 + runtimeShell, 10 + 11 + overrideSrc ? null, 12 + # A package. Omit to build without Everest. 13 + everest ? null, 14 + # If build with Everest, must set writableDir to the path of a writable dir 15 + # so that the mods can be installed there. 16 + # It must be an absolute path. 17 + # Example: "/home/kat/.local/share/Everest" 18 + writableDir ? null, 19 + # Optionally set paths of symlinks to the installation dir of Celeste. 20 + # You can use this in Olympus so that you don't have to change installation dir path 21 + # every time the nix store path changes. 22 + # The links are updated every time the command `Celeste` is run. 23 + gameDir ? [ ], 24 + # This will be appended to everest-launch.txt. 25 + launchFlags ? "", 26 + # This will be appended to everest-env.txt. 27 + launchEnv ? "", 28 + }: 29 + 30 + # For those who would like to use steam-run or alike to launch Celeste 31 + # (useful when using the `olympus` package with its `celesteWrapper` argument overridden), 32 + # install `celestegame.passthru.celeste-unwrapped` instead of `celestegame`, and if you want Everest, 33 + # override `everest` to `celestegame.passthru.everest-bin` instead of `celestegame.passthru.everest` 34 + # (steam-run cannot launch the latter for some currently unclear reason). 35 + # For those who would like to launch Celeste without the need of any additional wrapper like steam-run, 36 + # install `celestegame` with the `writableDir` argument overridden. 37 + 38 + let 39 + pname = "celeste"; 40 + phome = "$out/${celesteHomeRelative}"; 41 + executableName = "Celeste"; 42 + 43 + writableDir' = 44 + if writableDir == null && everest != null then 45 + lib.warn "writableDir is not set, so mods will not work." "/tmp" 46 + else 47 + writableDir; 48 + gameDir' = lib.toList gameDir; 49 + 50 + everestLogFilename = "everest-log.txt"; 51 + 52 + celeste = callPackage ./celeste { 53 + inherit 54 + executableName 55 + everest 56 + overrideSrc 57 + launchFlags 58 + launchEnv 59 + everestLogFilename 60 + ; 61 + desktopItems = [ desktopItem ]; 62 + writableDir = writableDir'; 63 + }; 64 + celesteHomeRelative = "lib/Celeste"; 65 + celesteHome = "${celeste}/${celesteHomeRelative}"; 66 + 67 + desktopItem = makeDesktopItem { 68 + name = "Celeste"; 69 + desktopName = "Celeste"; 70 + genericName = "Celeste"; 71 + comment = celeste.meta.description; 72 + exec = executableName; 73 + icon = "Celeste"; 74 + categories = [ "Game" ]; 75 + }; 76 + 77 + in 78 + buildFHSEnv { 79 + inherit pname executableName; 80 + version = celeste.version + (lib.optionalString (everest != null) "+everest.${everest.version}"); 81 + 82 + multiPkgs = 83 + pkgs: 84 + with pkgs; 85 + [ 86 + glib 87 + glibc_multi 88 + kdePackages.wayland 89 + libxkbcommon 90 + libgcc 91 + mesa 92 + libdrm 93 + expat 94 + alsa-lib 95 + at-spi2-atk 96 + libGL 97 + pcre2 98 + libffi 99 + zlib 100 + util-linux.lib 101 + libselinux 102 + nspr 103 + systemd 104 + gtk3 105 + pango 106 + harfbuzz 107 + fontconfig 108 + fribidi 109 + cairo 110 + libepoxy 111 + tinysparql 112 + libthai 113 + libpng 114 + freetype 115 + pixman 116 + libcap 117 + graphite2 118 + bzip2 119 + brotli 120 + libjpeg 121 + json-glib 122 + libxml2 123 + sqlite 124 + libdatrie 125 + ffmpeg 126 + nss 127 + dbus.lib 128 + acl 129 + attr 130 + gmp 131 + readline 132 + libpulseaudio 133 + pipewire 134 + vulkan-loader 135 + ] 136 + ++ (with xorg; [ 137 + libX11 138 + libXcomposite 139 + libXdamage 140 + libXfixes 141 + libXext 142 + libxcb 143 + libXcursor 144 + libXinerama 145 + libXi 146 + libXrandr 147 + libXScrnSaver 148 + libXxf86vm 149 + libXau 150 + libXdmcp 151 + ]); 152 + 153 + targetPkgs = pkgs: [ celeste ]; 154 + 155 + extraInstallCommands = '' 156 + icon=$out/share/icons/hicolor/512x512/apps/Celeste.png 157 + mkdir -p $(dirname $icon) 158 + ln -s ${celesteHome}/Celeste.png $icon 159 + cp -r ${desktopItem}/* $out 160 + ''; 161 + 162 + extraPreBwrapCmds = '' 163 + export NIX_CELESTE_LAUNCHER=$(realpath --no-symlinks $0) 164 + ''; 165 + 166 + runScript = writeShellScript executableName ( 167 + lib.optionalString (writableDir' != null) '' 168 + mkdir -p "${writableDir'}" 169 + touch "${writableDir'}/log.txt" 170 + 171 + # This script is symlinked to gameDir/Celeste, which gets launched by Olympus 172 + # (if the user set up Olympus to use gameDir as the location of Celeste). 173 + # Writing the script like this makes Olympus able to launch Celeste wihout any wrapper without any problems. 174 + echo "#! ${runtimeShell} 175 + exec $NIX_CELESTE_LAUNCHER"' "$@"' > "${writableDir'}/Celeste" 176 + chmod +x "${writableDir'}/Celeste" 177 + '' 178 + + lib.optionalString (everest != null) '' 179 + mkdir -p "${writableDir'}"/{LogHistory,Mods,CrashLogs} 180 + touch "${writableDir'}/${everestLogFilename}" 181 + 182 + # Needed to prevent restarting; see comments in postInstall of ./celeste/default.nix. 183 + export LD_LIBRARY_PATH="${celesteHome}/lib64-linux:$LD_LIBRARY_PATH" 184 + '' 185 + + lib.optionalString (gameDir' != [ ]) ( 186 + lib.concatMapStrings (link: '' 187 + mkdir -p "$(dirname "${link}")" 188 + if [ -L "${link}" ]; then 189 + if [ ${celesteHome} != "$(readlink "${link}")" ]; then 190 + rm "${link}" 191 + ln -s ${celesteHome} "${link}" 192 + fi 193 + else 194 + rm -r "${link}" 195 + ln -s ${celesteHome} "${link}" 196 + fi 197 + '') gameDir' 198 + ) 199 + + '' 200 + cd /${celesteHomeRelative} 201 + exec ./Celeste-unwrapped "$@" 202 + '' 203 + ); 204 + 205 + passthru.celeste-unwrapped = celeste; 206 + passthru.everest = callPackage ./everest { }; 207 + passthru.everest-bin = callPackage ./everest-bin { }; 208 + 209 + passthru.updateScript = ./update.sh; 210 + 211 + meta = { 212 + inherit (celeste.meta) 213 + homepage 214 + downloadPage 215 + description 216 + license 217 + sourceProvenance 218 + platforms 219 + ; 220 + maintainers = with lib.maintainers; [ ulysseszhan ]; 221 + }; 222 + }
+23
pkgs/by-name/ce/celestegame/update.sh
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell -i bash -p curl jq common-updater-scripts 3 + 4 + set -eu -o pipefail 5 + 6 + branch=stable # set to one of dev, beta, stable 7 + case $branch in 8 + dev) branches='"dev", "beta", "stable"' ;; 9 + beta) branches='"beta", "stable"' ;; 10 + stable) branches='"stable"' ;; 11 + esac 12 + 13 + endpoint=$(curl -s https://everestapi.github.io/everestupdater.txt) 14 + endpoint="$endpoint$([[ "$endpoint" == *"?"* ]] && echo '&' || echo '?')supportsNativeBuilds=true" 15 + 16 + latest=$(curl -s "$endpoint" | jq -r "map(select(.branch | IN($branches))) | max_by(.date)") 17 + commit=$(echo "$latest" | jq -r .commit) 18 + version=$(echo "$latest" | jq -r .version) 19 + url=$(echo "$latest" | jq -r .mainDownload) 20 + 21 + update-source-version celestegame.passthru.everest $version --rev=$commit 22 + "$(nix-build --attr celestegame.passthru.everest.fetch-deps --no-out-link)" 23 + update-source-version celestegame.passthru.everest-bin $version "" $url