Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

95 lines
1.7 KiB
Nix

{
lib,
stdenv,
fetchurl,
cmake,
cmocka,
gmp,
gperf,
ninja,
perl,
pkg-config,
python3,
rinutils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "freecell-solver";
version = "6.14.0";
src = fetchurl {
url = "https://fc-solve.shlomifish.org/downloads/fc-solve/freecell-solver-${finalAttrs.version}.tar.xz";
hash = "sha256-HREl2FQivNUhEC18sefIS3aGP+RF3SGHn5d53Gss59w=";
};
outputs = [
"out"
"dev"
"doc"
"man"
];
pythonPath = with python3.pkgs; [
cffi
pysol-cards
random2
six
];
nativeBuildInputs = [
cmake
cmocka
gperf
ninja
perl
pkg-config
python3
]
++ (
with perl.pkgs;
TaskFreecellSolverTesting.buildInputs
++ [
GamesSolitaireVerify
HTMLTemplate
Moo
PathTiny
StringShellQuote
TaskFreecellSolverTesting
TemplateToolkit
TextTemplate
]
)
++ [ python3.pkgs.wrapPython ]
++ finalAttrs.pythonPath;
buildInputs = [
gmp
rinutils
];
strictDeps = true;
cmakeFlags = [
(lib.cmakeBool "FCS_WITH_TEST_SUITE" false) # needs freecell-solver
(lib.cmakeBool "BUILD_STATIC_LIBRARY" false)
];
postFixup = ''
wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
'';
meta = {
homepage = "https://fc-solve.shlomifish.org/";
description = "FreeCell automatic solver";
longDescription = ''
FreeCell Solver is a program that automatically solves layouts of Freecell
and similar variants of Card Solitaire such as Eight Off, Forecell, and
Seahaven Towers, as well as Simple Simon boards.
'';
license = lib.licenses.mit;
mainProgram = "fc-solve";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})