diff --git a/games-util/pyfa/Manifest b/games-util/pyfa/Manifest new file mode 100644 index 0000000..9999e3b --- /dev/null +++ b/games-util/pyfa/Manifest @@ -0,0 +1,7 @@ +AUX configforced.py 144 SHA256 289eaf04b78739937b6d4e0c144136a9c8174d59a98304cb52dbcae6a28dda66 SHA512 493f302102bd7d25b7824b76b5e6fd89b649b9a60693d44eb4113f6ecc7a0a7420b98e29eea7873a806aa6a4bd1c4e6f2e8e4153fd68f1523e8559d462887d04 WHIRLPOOL 57c4a4b63f7e54ba4ba1074d75bacf491385281dee596fe33187c49d58c65fe87deb84a8cc66823c9bf4958aadda16e47cdc2d0b84a5e9d2dce3f77bafe057a5 +AUX pyfa-1.1.11-import-pyfa.patch 880 SHA256 7a261bf8cb09845ec93f756437603abb1321b373b80d28ead53a78c32f017c3f SHA512 1c7b68adfde2bb6a7237a7188ddd6c440462c873c1f74177ae2b5784a8a48b5682f2ef033fc243cfdfad9b36205a26f8673d894cac225843ab140cae9090eee0 WHIRLPOOL ab18121b4e33c6bbd6e61c8d59324dac3cae055cc7a9e8d7275beec7240b2754d1bf4565b917537f9925e40154f9a37b069982bd67bf26b285641db92d82a8e7 +AUX pyfa-1.1.20-staticPath.patch 870 SHA256 3758e6c463650546be4c74241c55412652ca0c8e4f62261be76ea3e984fac9d0 SHA512 34aa6812a25d8d0f33976e74cb109040ae515042ab228fb14583038f0a87f43d09fd43d869ebe617076f1308df11bd943fca397fb9c80f95daddc591bbd824c0 WHIRLPOOL a9e3123233cd5e88b8821c7844dd1d01da84102c5f2fc29112b26f29edca34aa458ba1c9742c914c7751e0afa803ff0e0b584ecbd4aae85710a64a901c88d5a9 +AUX pyfa-1.1.8-html-export-path.patch 1219 SHA256 dfe776e75631750d3e18eba2d835359ba32d77ef8bec3db0fa74fd762dc3a7b6 SHA512 d60ce241af9228d18cccd74b2c6fbf81e40c17c4a396f4771c1ab44aa84b5fdb29fc859f1b5e7d9b097f3fc38e409e6f20593c73d674ea923e5564faa4f4cd45 WHIRLPOOL 8be74bf7f6224856279a21df2949856e98f2c2c1c9e358fa9518fc67b06693f350b96d8efe8e8f46e992e0983fa8a1ca775f9c9696e0e6c419a9c35caa9bf8b4 +AUX pyfa.desktop 155 SHA256 c395891d87eaaac64e3ba7954d623efaf161d906527099ed4b0c680c63a041eb SHA512 d62a44e4e724057581a360cc1eb10aa4c7a0c50cb1d95137e58ba14db17644c852da2582be8d508c50b7359e7f99dc893d78d15cb11c46967a9b7896ff667781 WHIRLPOOL 3f68f0cd6942380fc040a3578b054ea7cdb86fbd751ed17aa1fe1e1eda3c7ee6c35645c28c6529605856d5e74765ccd7037abe96c3efe2a5a54cc7fcb6c53793 +DIST v1.5.1.zip 6904483 SHA256 12c32968d59f5d3c3823eafd8d0f9fefd834cb5bd26111a69e96b6fc5e7e25a3 SHA512 66a6273dedc56eea4d2e825368433ff71c3cab7cbaa9b398b18c697fc15e4ecfad969acd68b6e986d6c0ad98fa543ad9e4b1b2f19f6dab1b2d7efdd50add0c64 WHIRLPOOL 8fcaef8d7b17bd55adc8e2fe0bba404e997027290edad051451f585d97c3aebb96461b6e5d8609276c3c9e070148cc93facb9bf390a79d7f997ab3f752b266a2 +EBUILD pyfa-1.5.1.ebuild 2592 SHA256 a746def8f89c299d89c9232dd259f0851634c1b9a792a915317c4349fddd2360 SHA512 af1707a89cbf99c889c4e2c9c1a23246e5094cb92a7f260909d390d8380e6af493d900b61e8370f452bf1cac922f0601ba425d549b8e23a65cc797f8b28c95b3 WHIRLPOOL ca92a3ae550cdbb959306e7053d14b629dac76689aa88ef37fa8f6d2c4064d996329382ce7e903aecfd22b651358add265e2f3fdd0c0a57e58cc9a238f1164d8 diff --git a/games-util/pyfa/files/configforced.py b/games-util/pyfa/files/configforced.py new file mode 100644 index 0000000..a8008c2 --- /dev/null +++ b/games-util/pyfa/files/configforced.py @@ -0,0 +1,4 @@ +# Gentoo-specific settings +pyfaPath = u'%%SITEDIR%%/pyfa' +staticPath = u'%%EPREFIX%%/usr/share/pyfa/staticdata' +gameDB = staticPath + "/eve.db" diff --git a/games-util/pyfa/files/pyfa-1.1.11-import-pyfa.patch b/games-util/pyfa/files/pyfa-1.1.11-import-pyfa.patch new file mode 100644 index 0000000..8269080 --- /dev/null +++ b/games-util/pyfa/files/pyfa-1.1.11-import-pyfa.patch @@ -0,0 +1,28 @@ +From f301dcd0df741514e889fc234811cd4770dca6c7 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +Date: Wed, 5 Dec 2012 00:48:12 -0500 +Subject: [PATCH] Append $(python_get_sitedir)/pyfa to import path + +Ensures that pyfa's import statements continue to work for systemwide +installation. +--- + pyfa.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/pyfa.py b/pyfa.py +index 6992aaf..d66cb70 100755 +--- a/pyfa.py ++++ b/pyfa.py +@@ -63,6 +63,9 @@ if __name__ == "__main__": + parser.add_option("-r", "--root", action="store_true", dest="rootsavedata", help="if you want pyfa to store its data in root folder, use this option", default=False) + (options, args) = parser.parse_args() + ++ import os ++ sys.path.append(os.path.join("%%SITEDIR%%", "pyfa")) ++ + import config + # Configure paths + if options.rootsavedata is True: +-- +1.8.0 + diff --git a/games-util/pyfa/files/pyfa-1.1.20-staticPath.patch b/games-util/pyfa/files/pyfa-1.1.20-staticPath.patch new file mode 100644 index 0000000..cdcc9f9 --- /dev/null +++ b/games-util/pyfa/files/pyfa-1.1.20-staticPath.patch @@ -0,0 +1,27 @@ +From 69660180a59d0d100097dedbc507d4af73267e8d Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +Date: Wed, 30 Nov 2011 12:50:53 -0500 +Subject: [PATCH] Make staticPath settable from configforced + +--- + config.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/config.py b/config.py +index e39e0d3..e028c36 100644 +--- a/config.py ++++ b/config.py +@@ -66,7 +66,9 @@ def defPaths(): + + # Static EVE Data from the staticdata repository, should be in the staticdata + # directory in our pyfa directory +- staticPath = os.path.join(pyfaPath, "staticdata") ++ staticPath = getattr(configforced, "staticPath", None) ++ if staticPath is None: ++ staticPath = os.path.join(pyfaPath, "staticdata") + + # The database where we store all the fits etc + saveDB = os.path.join(savePath, "saveddata.db") +-- +1.8.5.3 + diff --git a/games-util/pyfa/files/pyfa-1.1.8-html-export-path.patch b/games-util/pyfa/files/pyfa-1.1.8-html-export-path.patch new file mode 100644 index 0000000..e7614d2 --- /dev/null +++ b/games-util/pyfa/files/pyfa-1.1.8-html-export-path.patch @@ -0,0 +1,33 @@ +From 017938391c5b67327c489a5c3a6fc720d4204609 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +Date: Mon, 16 Jul 2012 05:43:38 -0400 +Subject: [PATCH] Export fits to home directory, not python sitedir + +--- + service/settings.py | 3 ++- + 1 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/service/settings.py b/service/settings.py +index 8f6e3a8..5ac386d 100644 +--- a/service/settings.py ++++ b/service/settings.py +@@ -21,6 +21,7 @@ import cPickle + import os.path + import config + import urllib2 ++import sys + + class SettingsProvider(): + BASE_PATH = os.path.join(config.savePath, "settings") +@@ -199,7 +200,7 @@ class HTMLExportSettings(): + return cls._instance + + def __init__(self): +- serviceHTMLExportDefaultSettings = {"enabled": False, "path": config.pyfaPath + os.sep + 'pyfaFits.html' } ++ serviceHTMLExportDefaultSettings = {"enabled": False, "path": unicode(os.path.expanduser(os.path.join('~', 'pyfaFits.html')), sys.getfilesystemencoding()) } + self.serviceHTMLExportSettings = SettingsProvider.getInstance().getSettings("pyfaServiceHTMLExportSettings", serviceHTMLExportDefaultSettings) + + def getEnabled(self): +-- +1.7.8.6 + diff --git a/games-util/pyfa/files/pyfa.desktop b/games-util/pyfa/files/pyfa.desktop new file mode 100644 index 0000000..07f3f0e --- /dev/null +++ b/games-util/pyfa/files/pyfa.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Pyfa +Comment=Ship fitting application for EVE Online +Icon=pyfa +Terminal=false +Type=Application +Categories=Game;RolePlaying; +Exec=pyfa diff --git a/games-util/pyfa/pyfa-1.5.1.ebuild b/games-util/pyfa/pyfa-1.5.1.ebuild new file mode 100644 index 0000000..79c1c9f --- /dev/null +++ b/games-util/pyfa/pyfa-1.5.1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-util/pyfa/pyfa-1.2.1.ebuild,v 1.1 2014/06/29 00:16:34 tetromino Exp $ + +EAPI="5" +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="sqlite,threads" + +inherit eutils gnome2-utils python-r1 + +DESCRIPTION="Python Fitting Assistant - a ship fitting application for EVE Online" +HOMEPAGE="https://github.com/DarkFenX/Pyfa" + +LICENSE="GPL-3+ LGPL-2.1+ CC-BY-2.5 free-noncomm" +SLOT="0" +if [[ ${PV} = 9999 ]]; then + EGIT_REPO_URI="https://github.com/DarkFenX/Pyfa.git" + inherit git-2 + KEYWORDS="" +else + SRC_URI="https://github.com/DarkFenX/Pyfa/archive/v${PV}.zip" + KEYWORDS="~amd64 ~arm ~x86" +fi +IUSE="+graph" + +RDEPEND="dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/wxpython:2.8[${PYTHON_USEDEP}] + graph? ( + dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] ) + ${PYTHON_DEPS}" +DEPEND="app-arch/unzip" + +S=${WORKDIR}/Pyfa-${PV} + +src_prepare() { + # get rid of CRLF line endings introduced in 1.1.10 so patches work + edos2unix config.py pyfa.py service/settings.py + + # make staticPath settable from configforced again + epatch "${FILESDIR}/${PN}-1.1.20-staticPath.patch" + + # do not try to save exported html to python sitedir + epatch "${FILESDIR}/${PN}-1.1.8-html-export-path.patch" + + # fix import path in the main script for systemwide installation + epatch "${FILESDIR}/${PN}-1.1.11-import-pyfa.patch" + touch __init__.py + + pyfa_make_configforced() { + mkdir -p "${BUILD_DIR}" || die + sed -e "s:%%SITEDIR%%:$(python_get_sitedir):" \ + -e "s:%%EPREFIX%%:${EPREFIX}:" \ + "${FILESDIR}/configforced.py" > "${BUILD_DIR}/configforced.py" + sed -e "s:%%SITEDIR%%:$(python_get_sitedir):" \ + pyfa.py > "${BUILD_DIR}/pyfa" + } + python_foreach_impl pyfa_make_configforced +} + +src_install() { + pyfa_py_install() { + local packagedir=$(python_get_sitedir)/${PN} + insinto "${packagedir}" + doins -r eos gui icons service config*.py __init__.py gpl.txt + [[ -e info.py ]] && doins info.py # only in zip releases + doins "${BUILD_DIR}/configforced.py" + python_doscript "${BUILD_DIR}/pyfa" + python_optimize + } + python_foreach_impl pyfa_py_install + + insinto /usr/share/${PN} + doins -r staticdata + dodoc readme.txt + insinto /usr/share/icons/hicolor/32x32/apps + doins icons/pyfa.png + insinto /usr/share/icons/hicolor/64x64/apps + newins icons/pyfa64.png pyfa.png + domenu "${FILESDIR}/${PN}.desktop" +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +}