From 12eaa179a59ece54ec434ee41d77b9f1f64e5aea Mon Sep 17 00:00:00 2001 From: Stefan Nuernberger Date: Fri, 2 Jan 2026 17:08:52 +0100 Subject: [PATCH] pawn-appetit: init at 0.11.0 --- pkgs/by-name/pa/pawn-appetit/package.nix | 99 ++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 pkgs/by-name/pa/pawn-appetit/package.nix diff --git a/pkgs/by-name/pa/pawn-appetit/package.nix b/pkgs/by-name/pa/pawn-appetit/package.nix new file mode 100644 index 000000000000..6152bb4502fe --- /dev/null +++ b/pkgs/by-name/pa/pawn-appetit/package.nix @@ -0,0 +1,99 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + fetchPnpmDeps, + + nodejs, + pnpm_10, + pnpmConfigHook, + cargo-tauri, + jq, + moreutils, + pkg-config, + wrapGAppsHook3, + makeBinaryWrapper, + + openssl, + webkitgtk_4_1, + gst_all_1, + + nix-update-script, +}: + +let + pnpm = pnpm_10; +in +rustPlatform.buildRustPackage (finalAttrs: { + pname = "pawn-appetit"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "Pawn-Appetit"; + repo = "pawn-appetit"; + tag = "v${finalAttrs.version}"; + hash = "sha256-WJ/tFOizESDqdLy4maMKUZ79mgyyxqLuwCxWZ0+NVX4="; + }; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + ; + inherit pnpm; + fetcherVersion = 3; + hash = "sha256-amXrz/ZzvjvNYlqxzTtQXiZw/NnUVJ7PhqG8oHsEe88="; + }; + + postPatch = '' + jq '.plugins.updater.endpoints = [ ] | .bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json + ''; + + cargoRoot = "src-tauri"; + + cargoHash = "sha256-UKaW+NiNA398nyGs9+SjY+tUvLjCPrSxX6bZLSl7/EQ="; + + buildAndTestSubdir = finalAttrs.cargoRoot; + + nativeBuildInputs = [ + nodejs + pnpm + pnpmConfigHook + + cargo-tauri.hook + jq + moreutils + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook3 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeBinaryWrapper ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + openssl + webkitgtk_4_1 + + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + ]; + + doCheck = false; # many scoring tests fail + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + makeWrapper "$out"/Applications/pawn-appetit.app/Contents/MacOS/pawn-appetit $out/bin/pawn-appetit + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Ultimate Chess Toolkit (fork of en-croissant)"; + homepage = "https://github.com/Pawn-Appetit/pawn-appetit/"; + license = lib.licenses.gpl3Only; + mainProgram = "pawn-appetit"; + maintainers = with lib.maintainers; [ snu ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +})