nixpkgs/pkgs/games/pysolfc/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

69 lines
1.6 KiB
Nix
Raw Normal View History

2023-06-29 00:45:59 +00:00
{ lib
, fetchzip
, buildPythonApplication
, python3Packages
, desktop-file-utils
, freecell-solver
}:
buildPythonApplication rec {
pname = "pysolfc";
version = "2.21.0";
2018-08-19 18:43:29 +00:00
src = fetchzip {
url = "mirror://sourceforge/pysolfc/PySolFC-${version}.tar.xz";
hash = "sha256-Deye7KML5G6RZkth2veVgPOWZI8gnusEvszlrPTAhag=";
};
2018-08-19 18:43:29 +00:00
cardsets = fetchzip {
url = "mirror://sourceforge/pysolfc/PySolFC-Cardsets-2.2.tar.bz2";
2023-06-29 00:45:59 +00:00
hash = "sha256-mWJ0l9rvn9KeZ9rCWy7VjngJzJtSQSmG8zGcYFE4yM0=";
};
music = fetchzip {
url = "mirror://sourceforge/pysolfc/pysol-music-4.50.tar.xz";
2023-06-29 00:45:59 +00:00
hash = "sha256-sOl5U98aIorrQHJRy34s0HHaSW8hMUE7q84FMQAj5Yg=";
2018-08-19 18:43:29 +00:00
};
propagatedBuildInputs = with python3Packages; [
2023-06-29 00:45:59 +00:00
tkinter
six
random2
configobj
pysol-cards
attrs
pycotap
2018-08-19 18:43:29 +00:00
# optional :
2023-06-29 00:45:59 +00:00
pygame
freecell-solver
pillow
];
2018-08-19 18:43:29 +00:00
patches = [
./pysolfc-datadir.patch
];
2018-08-19 18:43:29 +00:00
nativeBuildInputs = [ desktop-file-utils ];
postPatch = ''
desktop-file-edit --set-key Icon --set-value ${placeholder "out"}/share/icons/pysol01.png data/pysol.desktop
desktop-file-edit --set-key Comment --set-value "${meta.description}" data/pysol.desktop
'';
postInstall = ''
2018-08-19 18:43:29 +00:00
mkdir $out/share/PySolFC/cardsets
cp -r $cardsets/* $out/share/PySolFC/cardsets
2023-06-29 00:45:59 +00:00
cp -r $music/data/music $out/share/PySolFC
'';
2018-08-19 18:43:29 +00:00
# No tests in archive
doCheck = false;
meta = with lib; {
description = "A collection of more than 1000 solitaire card games";
mainProgram = "pysol.py";
homepage = "https://pysolfc.sourceforge.io";
license = licenses.gpl3;
maintainers = with maintainers; [ kierdavis ];
};
}