games-util/pyfa: update live ebuild

Update patches for upstream code changes, update dependencies, install
images in a compressed zip since upstream code now allows it, and switch
to git-r3.eclass.

Gentoo-Bug: 562080
Reported-by: Captain Crutches
Package-Manager: portage-2.2.22
This commit is contained in:
Alexandre Rostovtsev
2015-10-06 22:38:40 -04:00
parent cc6733490d
commit 9f9517df68
4 changed files with 111 additions and 12 deletions

View File

@@ -0,0 +1,4 @@
# Gentoo-specific settings
pyfaPath = u'%%SITEDIR%%/pyfa'
gameDB = u'%%EPREFIX%%/usr/share/pyfa/eve.db'
imgsZIP = u'%%EPREFIX%%/usr/share/pyfa/imgs.zip'

View File

@@ -0,0 +1,27 @@
From 6c7b6ab7d1aae47d3a3f72a7951c7de294be2917 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Tue, 6 Oct 2015 22:16:38 -0400
Subject: [PATCH] Append $(python_get_sitedir)/pyfa to import path
Ensures that pyfa's import statements continue to work for systemwide
installation.
---
pyfa.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/pyfa.py b/pyfa.py
index 8189918..7b81f10 100755
--- a/pyfa.py
+++ b/pyfa.py
@@ -20,6 +20,8 @@
import sys
import re
+import os
+sys.path.append(os.path.join("%%SITEDIR%%", "pyfa"))
import config
--
2.6.0

View File

@@ -0,0 +1,61 @@
From c7bb5210ce9feebb753734b5c581acca9f5c9d06 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Tue, 6 Oct 2015 21:37:44 -0400
Subject: [PATCH] make gameDB and imgs.zip paths settable from configforced
---
config.py | 10 +++++++++-
gui/bitmapLoader.py | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/config.py b/config.py
index 4072236..a9e71ee 100644
--- a/config.py
+++ b/config.py
@@ -28,6 +28,7 @@ pyfaPath = None
savePath = None
saveDB = None
gameDB = None
+imgsZIP = None
class StreamToLogger(object):
@@ -66,6 +67,7 @@ def defPaths():
global savePath
global saveDB
global gameDB
+ global imgsZIP
global saveInRoot
if debug:
@@ -117,7 +119,13 @@ def defPaths():
# The database where the static EVE data from the datadump is kept.
# This is not the standard sqlite datadump but a modified version created by eos
# maintenance script
- gameDB = os.path.join(pyfaPath, "eve.db")
+ gameDB = getattr(configforced, "gameDB", None)
+ if gameDB is None:
+ gameDB = os.path.join(pyfaPath, "eve.db")
+
+ imgsZIP = getattr(configforced, "imgsZIP", None)
+ if imgsZIP is None:
+ imgsZIP = os.path.join(pyfaPath, "imgs.zip")
## DON'T MODIFY ANYTHING BELOW ##
import eos.config
diff --git a/gui/bitmapLoader.py b/gui/bitmapLoader.py
index 45026be..02985c1 100644
--- a/gui/bitmapLoader.py
+++ b/gui/bitmapLoader.py
@@ -31,7 +31,7 @@ except ImportError:
class BitmapLoader():
try:
- archive = zipfile.ZipFile(os.path.join(config.pyfaPath, 'imgs.zip'), 'r')
+ archive = zipfile.ZipFile(config.imgsZIP, 'r')
except IOError:
archive = None
--
2.6.0

View File

@@ -15,7 +15,7 @@ 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
inherit git-r3
KEYWORDS=""
else
SRC_URI="https://github.com/DarkFenX/Pyfa/archive/v${PV}.tar.gz -> pyfa-${PV}.tar.gz"
@@ -25,34 +25,34 @@ IUSE="+graph"
RDEPEND="dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/sqlalchemy[${PYTHON_USEDEP}]
dev-python/wxpython:2.8[${PYTHON_USEDEP}]
dev-python/wxpython:3.0[${PYTHON_USEDEP}]
graph? (
dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}] )
${PYTHON_DEPS}"
DEPEND="app-arch/unzip"
DEPEND="app-arch/zip"
S=${WORKDIR}/Pyfa-${PV}
[[ ${PV} = 9999 ]] || 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"
# load gameDB and images from separate staticdata directory
epatch "${FILESDIR}/${PN}-1.15.1-staticdata.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"
epatch "${FILESDIR}/${PN}-1.15.1-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"
"${FILESDIR}/configforced-1.15.1.py" > "${BUILD_DIR}/configforced.py"
sed -e "s:%%SITEDIR%%:$(python_get_sitedir):" \
pyfa.py > "${BUILD_DIR}/pyfa"
}
@@ -63,7 +63,7 @@ src_install() {
pyfa_py_install() {
local packagedir=$(python_get_sitedir)/${PN}
insinto "${packagedir}"
doins -r eos gui icons service utils config*.py __init__.py gpl.txt
doins -r eos gui service utils config*.py __init__.py
[[ -e info.py ]] && doins info.py # only in zip releases
doins "${BUILD_DIR}/configforced.py"
python_doscript "${BUILD_DIR}/pyfa"
@@ -72,12 +72,19 @@ src_install() {
python_foreach_impl pyfa_py_install
insinto /usr/share/${PN}
doins -r staticdata
doins eve.db
einfo "Compressing images ..."
pushd imgs > /dev/null || die
zip -r imgs.zip * || die "zip failed"
doins imgs.zip
popd > /dev/null || die
dodoc README.md
insinto /usr/share/icons/hicolor/32x32/apps
doins icons/pyfa.png
doins imgs/gui/pyfa.png
insinto /usr/share/icons/hicolor/64x64/apps
newins icons/pyfa64.png pyfa.png
newins imgs/gui/pyfa64.png pyfa.png
domenu "${FILESDIR}/${PN}.desktop"
}