Merge pull request #278432 from tomodachi94/update/craftos-pc/2.8

craftos-pc: 2.7.5 -> 2.8

authored by Guillaume Girol and committed by GitHub d0f337d1 28b6b517

+25 -4
+6
nixos/doc/manual/release-notes/rl-2405.section.md
··· 82 82 ``` 83 83 - The `kanata` package has been updated to v1.5.0, which includes [breaking changes](https://github.com/jtroo/kanata/releases/tag/v1.5.0). 84 84 85 + - The `craftos-pc` package has been updated to v2.8, which includes [breaking changes](https://github.com/MCJack123/craftos2/releases/tag/v2.8). 86 + - Files are now handled in binary mode; this could break programs with embedded UTF-8 characters. 87 + - The ROM was updated to match ComputerCraft version v1.109.2. 88 + - The bundled Lua was updated to Lua v5.2, which includes breaking changes. See the [Lua manual](https://www.lua.org/manual/5.2/manual.html#8) for more information. 89 + - The WebSocket API [was rewritten](https://github.com/MCJack123/craftos2/issues/337), which introduced breaking changes. 90 + 85 91 - The latest available version of Nextcloud is v28 (available as `pkgs.nextcloud28`). The installation logic is as follows: 86 92 - If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**) 87 93 - If [`system.stateVersion`](#opt-system.stateVersion) is >=24.05, `pkgs.nextcloud28` will be installed by default.
+19 -4
pkgs/applications/emulators/craftos-pc/default.nix
··· 16 16 }: 17 17 18 18 let 19 - version = "2.7.5"; 19 + version = "2.8"; 20 20 craftos2-lua = fetchFromGitHub { 21 21 owner = "MCJack123"; 22 22 repo = "craftos2-lua"; 23 23 rev = "v${version}"; 24 - hash = "sha256-JMBsSoO/yTLw7K1Ri3BzKr5bz5UirXiPr/Q0YoMumhY="; 24 + hash = "sha256-xuNcWt3Wnh3WlYe6pB4dvP3PY9S5ghL9QQombGn8iyY="; 25 25 }; 26 26 craftos2-rom = fetchFromGitHub { 27 27 owner = "McJack123"; 28 28 repo = "craftos2-rom"; 29 - rev = "v${version}.1"; # Author released a hotfix; remove trailing '.1' on next update 29 + rev = "v${version}"; 30 30 hash = "sha256-WZs/KIdpqLLzvpH2hiJpe/AehluoQMtewBbAb4htz8k="; 31 31 }; 32 32 in ··· 39 39 owner = "MCJack123"; 40 40 repo = "craftos2"; 41 41 rev = "v${version}"; 42 - hash = "sha256-t2yhSuNPFCF2NaQFWuN9Nos5ZPinAvecV6EZNO0Cy9I="; 42 + hash = "sha256-nT/oN2XRU1Du1/IHlkRCzLqFwQ5s9Sr4FQs3ES+aPFs="; 43 43 }; 44 44 45 + patches = [ 46 + ( # Fixes CCEmuX. This is a one-character change that did not make it into the release. 47 + fetchpatch { 48 + url = "https://github.com/MCJack123/craftos2/commit/9ef7e16b69ead69b5fe076724842a1e24b3de058.patch"; 49 + hash = "sha256-SjNnsooDFt3JoVOO0xf6scrGXEQQmrQf91GY7VWaTOw="; 50 + } 51 + ) 52 + ]; 53 + 45 54 buildInputs = [ patchelf poco openssl SDL2 SDL2_mixer ncurses libpng pngpp libwebp ]; 46 55 47 56 preBuild = '' 48 57 cp -R ${craftos2-lua}/* ./craftos2-lua/ 49 58 chmod -R u+w ./craftos2-lua 50 59 make -C craftos2-lua linux 60 + ''; 61 + 62 + buildPhase = '' 63 + runHook preBuild 64 + make 65 + runHook postBuild 51 66 ''; 52 67 53 68 dontStrip = true;