summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorBignaux Ronan <ronan@aimao.org>2018-08-19 20:43:29 +0200
committerBignaux Ronan <ronan@aimao.org>2019-12-16 01:43:08 +0100
commit615742297f2867853adfb13d6a2b323e773539b1 (patch)
treee390bb2d3c1aff007d1dd47dc5823d17463bfa3c /pkgs/games
parentee49b45a7b091287d44966b00d2a4f07d3fcbdfc (diff)
downloadnixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar.gz
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar.bz2
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar.lz
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar.xz
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.tar.zst
nixpkgs-615742297f2867853adfb13d6a2b323e773539b1.zip
PySolFC: 2.0 -> 2.6.4
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/pysolfc/default.nix49
1 files changed, 29 insertions, 20 deletions
diff --git a/pkgs/games/pysolfc/default.nix b/pkgs/games/pysolfc/default.nix
index 85424ebea9b..48c06c0eab6 100644
--- a/pkgs/games/pysolfc/default.nix
+++ b/pkgs/games/pysolfc/default.nix
@@ -1,39 +1,48 @@
-{ fetchurl, python2, stdenv }:
-
-with python2.pkgs;
+{ stdenv, fetchzip, buildPythonApplication, python3Packages
+  , desktop-file-utils, freecell-solver }:
 
 buildPythonApplication rec {
   pname = "PySolFC";
-  version = "2.0";
+  version = "2.6.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2";
-    sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv";
+  src = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC/PySolFC-${version}/PySolFC-${version}.tar.xz";
+    sha256 = "1bd84law5b1yga3pryggdvlfvm0l62gci2q8y3q79cysdk3z4w3z";
   };
 
-  patches = [
-    ./pysolfc-datadir.patch
+  cardsets = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC-Cardsets/PySolFC-Cardsets-2.0/PySolFC-Cardsets-2.0.tar.bz2";
+    sha256 = "0h0fibjv47j8lkc1bwnlbbvrx2nr3l2hzv717kcgagwhc7v2mrqh";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    tkinter six random2
+    # optional :
+    pygame freecell-solver pillow
   ];
 
-  propagatedBuildInputs = [
-    tkinter
+  patches = [
+    ./pysolfc-datadir.patch
   ];
 
-  # No tests in archive
-  doCheck = false;
+  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 = ''
-    # executables should not have an extension
-    pushd $out/bin
-    mv pysol.py pysol
-    rm pysol.pyc
-    popd
+    mkdir $out/share/PySolFC/cardsets
+    cp -r $cardsets/* $out/share/PySolFC/cardsets
   '';
 
+  # No tests in archive
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "A collection of more than 1000 solitaire card games";
-    homepage = http://pysolfc.sourceforge.net/;
+    homepage = https://pysolfc.sourceforge.io;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ kierdavis ];
+    maintainers = with maintainers; [ kierdavis genesis ];
   };
 }