nixpkgs/pkgs/by-name/en/en-croissant/package.nix
2024-12-02 22:10:32 +01:00

81 lines
1.9 KiB
Nix

{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
pnpm_9,
nodejs,
cargo-tauri_1,
pkg-config,
wrapGAppsHook3,
makeBinaryWrapper,
openssl,
libsoup,
webkitgtk_4_0,
gst_all_1,
apple-sdk_11,
}:
rustPlatform.buildRustPackage rec {
pname = "en-croissant";
version = "0.11.1";
src = fetchFromGitHub {
owner = "franciscoBSalgueiro";
repo = "en-croissant";
rev = "refs/tags/v${version}";
hash = "sha256-EiGML3oFCJR4TZkd+FekUrJwCYe/nGdWD9mAtKKtITQ=";
};
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-hvWXSegUWJvwCU5NLb2vqnl+FIWpCLxw96s9NUIgJTI=";
};
cargoRoot = "src-tauri";
useFetchCargoVendor = true;
cargoHash = "sha256-6cBGOdJ7jz+mOl2EEXxoLNeX9meW+ybQxAxnnHAplIc=";
buildAndTestSubdir = cargoRoot;
nativeBuildInputs =
[
pnpm_9.configHook
nodejs
cargo-tauri_1.hook
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook3 ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ makeBinaryWrapper ];
buildInputs =
lib.optionals stdenv.hostPlatform.isLinux [
openssl
libsoup
webkitgtk_4_0
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-good
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ];
doCheck = false; # many scoring tests fail
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
makeWrapper "$out"/Applications/en-croissant.app/Contents/MacOS/en-croissant $out/bin/en-croissant
'';
meta = {
description = "Ultimate Chess Toolkit";
homepage = "https://github.com/franciscoBSalgueiro/en-croissant/";
license = lib.licenses.gpl3Only;
mainProgram = "en-croissant";
maintainers = with lib.maintainers; [ tomasajt ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}