From cb9bf1c8541f68513eb446c89e763657a6a9a1ef Mon Sep 17 00:00:00 2001 From: Kier Davis Date: Fri, 24 Nov 2017 00:03:22 +0000 Subject: PySolFC: init at 2.0 PySolFC is a solitaire game written in Python, supporting thousands of solitaire variants. --- pkgs/games/pysolfc/default.nix | 39 ++++++++++++++++++++++++++++++++ pkgs/games/pysolfc/pysolfc-datadir.patch | 19 ++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 60 insertions(+) create mode 100644 pkgs/games/pysolfc/default.nix create mode 100644 pkgs/games/pysolfc/pysolfc-datadir.patch (limited to 'pkgs') diff --git a/pkgs/games/pysolfc/default.nix b/pkgs/games/pysolfc/default.nix new file mode 100644 index 000000000000..85424ebea9ba --- /dev/null +++ b/pkgs/games/pysolfc/default.nix @@ -0,0 +1,39 @@ +{ fetchurl, python2, stdenv }: + +with python2.pkgs; + +buildPythonApplication rec { + pname = "PySolFC"; + version = "2.0"; + + src = fetchurl { + url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2"; + sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv"; + }; + + patches = [ + ./pysolfc-datadir.patch + ]; + + propagatedBuildInputs = [ + tkinter + ]; + + # No tests in archive + doCheck = false; + + postInstall = '' + # executables should not have an extension + pushd $out/bin + mv pysol.py pysol + rm pysol.pyc + popd + ''; + + meta = with stdenv.lib; { + description = "A collection of more than 1000 solitaire card games"; + homepage = http://pysolfc.sourceforge.net/; + license = licenses.gpl3; + maintainers = with maintainers; [ kierdavis ]; + }; +} diff --git a/pkgs/games/pysolfc/pysolfc-datadir.patch b/pkgs/games/pysolfc/pysolfc-datadir.patch new file mode 100644 index 000000000000..d9f1cf4e09f5 --- /dev/null +++ b/pkgs/games/pysolfc/pysolfc-datadir.patch @@ -0,0 +1,19 @@ +diff --git a/pysollib/util.py b/pysollib/util.py +index 8de3f00..26f4bc7 100644 +--- a/pysollib/util.py ++++ b/pysollib/util.py +@@ -110,13 +110,7 @@ class DataLoader: + head, tail = os.path.split(argv0) + if not head: + head = os.curdir +- # dir where placed startup script +- path.append(head) +- path.append(os.path.join(head, "data")) +- path.append(os.path.join(head, os.pardir, "data")) +- # dir where placed pysol package +- path.append(os.path.join(sys.path[0], "data")) +- path.append(os.path.join(sys.path[0], "pysollib", "data")) ++ path.append(os.path.join(head, "..", "share", "PySolFC")) + # from settings.py + path.extend(DATA_DIRS) + # check path for valid directories diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8db247dfec93..831cf45b5112 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18080,6 +18080,8 @@ with pkgs; privateer = callPackage ../games/privateer { }; + pysolfc = callPackage ../games/pysolfc { }; + qweechat = callPackage ../applications/networking/irc/qweechat { }; qqwing = callPackage ../games/qqwing { }; -- cgit 1.4.1