summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-board/pysolfc')
-rw-r--r--games-board/pysolfc/Manifest2
-rw-r--r--games-board/pysolfc/files/pysolfc-2.0-gentoo.patch10
-rw-r--r--games-board/pysolfc/files/pysolfc-PIL-imports.patch49
-rw-r--r--games-board/pysolfc/metadata.xml12
-rw-r--r--games-board/pysolfc/pysolfc-2.0-r3.ebuild92
5 files changed, 165 insertions, 0 deletions
diff --git a/games-board/pysolfc/Manifest b/games-board/pysolfc/Manifest
new file mode 100644
index 000000000000..2ce7e1330f7c
--- /dev/null
+++ b/games-board/pysolfc/Manifest
@@ -0,0 +1,2 @@
+DIST PySolFC-2.0.tar.bz2 4208776 SHA256 dbcb8e7e6d0479c230745a2be91c0c9b9e8524407cd2075f2dae144e5d441b6c SHA512 ec5a11565bd43e097cf1854fe246b8f92acd74077c0b3b158c999f9dc45966e8f805c60a2cfbd815137d970e0e6409d0ae437b9807bac9c39353657cf596b6fc WHIRLPOOL 468d595ee1ae0a3a0129f9e822f9985cd0c7c9a00766dc711a5b8d202742bdd26393a676bc7515e39e1ddad71a3ef65d3d27ada0ec339212662126a42a07ad8c
+DIST PySolFC-Cardsets-2.0.tar.bz2 30687905 SHA256 c388d6360191b3b7e463d84e5a64260c4e3ed36e791a85227d7e8923f3f47ca7 SHA512 24275cd3656024e268a49487ac75e1e67e61ec20e0a9f88e2d1c287f91314a1a9343856d1202ce468f8863f4e9a9bf27526fbb1979a7d765718b38e64ca0cfc8 WHIRLPOOL ae779f1838d321e727c0661980c7f40ff368aa958a3fd1043448229d5b2a56ce94799f343b8527666081b043a469760f7f3b0a3e2d58263d69c16cb3456d7df5
diff --git a/games-board/pysolfc/files/pysolfc-2.0-gentoo.patch b/games-board/pysolfc/files/pysolfc-2.0-gentoo.patch
new file mode 100644
index 000000000000..3af96d9c0c2f
--- /dev/null
+++ b/games-board/pysolfc/files/pysolfc-2.0-gentoo.patch
@@ -0,0 +1,10 @@
+--- pysollib/settings.py.old 2014-04-07 20:05:02.335276008 +0200
++++ pysollib/settings.py 2014-04-07 20:05:33.099062670 +0200
+@@ -63,6 +63,7 @@
+ '/usr/local/share/PySolFC',
+ '/usr/games/PySolFC',
+ '/usr/local/games/PySolFC',
++ '@GAMES_DATADIR@',
+ ]
+ if os.name == 'nt':
+ pass
diff --git a/games-board/pysolfc/files/pysolfc-PIL-imports.patch b/games-board/pysolfc/files/pysolfc-PIL-imports.patch
new file mode 100644
index 000000000000..ed174d8aefe7
--- /dev/null
+++ b/games-board/pysolfc/files/pysolfc-PIL-imports.patch
@@ -0,0 +1,49 @@
+https://sourceforge.net/p/pysolfc/patches/10/
+https://bugs.gentoo.org/show_bug.cgi?id=471514
+
+Index: pysollib/mfxutil.py
+===================================================================
+diff --git a/PySolFC/trunk/pysollib/mfxutil.py b/PySolFC/trunk/pysollib/mfxutil.py
+--- a/PySolFC/trunk/pysollib/mfxutil.py (revision 279)
++++ b/PySolFC/trunk/pysollib/mfxutil.py (working copy)
+@@ -41,18 +41,18 @@
+ Image = ImageTk = ImageOps = None
+ if TOOLKIT == 'tk':
+ try: # PIL
+- import Image
+- import ImageTk
+- import ImageOps
++ from PIL import Image
++ from PIL import ImageTk
++ from PIL import ImageOps
+ except ImportError:
+ Image = None
+ else:
+ # for py2exe
+- import GifImagePlugin
+- import PngImagePlugin
+- import JpegImagePlugin
+- import BmpImagePlugin
+- import PpmImagePlugin
++ from PIL import GifImagePlugin
++ from PIL import PngImagePlugin
++ from PIL import JpegImagePlugin
++ from PIL import BmpImagePlugin
++ from PIL import PpmImagePlugin
+ Image._initialized = 2
+ USE_PIL = False
+ if TOOLKIT == 'tk' and Image and Image.VERSION >= '1.1.7':
+Index: scripts/cardset_viewer.py
+===================================================================
+diff --git a/PySolFC/trunk/scripts/cardset_viewer.py b/PySolFC/trunk/scripts/cardset_viewer.py
+--- a/PySolFC/trunk/scripts/cardset_viewer.py (revision 279)
++++ b/PySolFC/trunk/scripts/cardset_viewer.py (working copy)
+@@ -7,7 +7,7 @@
+ from math import sqrt, sin, cos, pi
+ from Tkinter import *
+ try:
+- import Image, ImageTk
++ from PIL import Image, ImageTk
+ except ImportError:
+ Image = None
+
diff --git a/games-board/pysolfc/metadata.xml b/games-board/pysolfc/metadata.xml
new file mode 100644
index 000000000000..a439022fc46c
--- /dev/null
+++ b/games-board/pysolfc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="extra-cardsets">Install extra cardsets</flag>
+ <flag name="sound">Enable sound support using <pkg>dev-python/pygame</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">pysolfc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-board/pysolfc/pysolfc-2.0-r3.ebuild b/games-board/pysolfc/pysolfc-2.0-r3.ebuild
new file mode 100644
index 000000000000..d3b04dbee02d
--- /dev/null
+++ b/games-board/pysolfc/pysolfc-2.0-r3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk"
+DISTUTILS_SINGLE_IMPL="1"
+
+inherit eutils python-single-r1 distutils-r1 games
+
+MY_PN=PySolFC
+SOL_URI="mirror://sourceforge/${PN}"
+
+DESCRIPTION="An exciting collection of more than 1000 solitaire card games"
+HOMEPAGE="http://pysolfc.sourceforge.net/"
+SRC_URI="${SOL_URI}/${MY_PN}-${PV}.tar.bz2
+ extra-cardsets? ( ${SOL_URI}/${MY_PN}-Cardsets-${PV}.tar.bz2 )"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="extra-cardsets minimal +sound"
+
+S=${WORKDIR}/${MY_PN}-${PV}
+
+DEPEND=""
+RDEPEND="${RDEPEND}
+ sound? ( dev-python/pygame[${PYTHON_USEDEP}] )
+ !minimal? ( dev-python/pillow[tk,${PYTHON_USEDEP}]
+ dev-tcltk/tktable )"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-PIL-imports.patch" #471514
+ "${FILESDIR}"/${P}-gentoo.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_setup() {
+ games_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i \
+ -e "/pysol.desktop/d" \
+ -e "s:share/icons:share/pixmaps:" \
+ -e "s:data_dir =.*:data_dir = \'${GAMES_DATADIR}/${PN}\':" \
+ setup.py || die
+
+ sed -i \
+ -e "s:@GAMES_DATADIR@:${GAMES_DATADIR}/${PN}:" \
+ pysollib/settings.py || die "fixing settings"
+
+ mv docs/README{,.txt}
+}
+
+src_compile() {
+ distutils-r1_src_compile
+}
+
+python_install_all() {
+ make_desktop_entry pysol.py "PySol Fan Club Edition" pysol02
+
+ if use extra-cardsets; then
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r "${WORKDIR}"/${MY_PN}-Cardsets-${PV}/*
+ fi
+
+ doman docs/*.6
+
+ DOCS=( README AUTHORS docs/README.txt docs/README.SOURCE )
+ HTML_DOCS=( docs/*html )
+
+ distutils-r1_python_install_all
+
+ dodir "${GAMES_BINDIR}"
+
+ mv "${D}"/usr/bin/pysol.py "${D}""${GAMES_BINDIR}"/
+
+ prepgamesdirs
+}
+
+src_install() {
+ distutils-r1_src_install
+}