[game-data-packager] 01/01: Grim Fandango: add Scythe icon, own work
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Sun Jul 19 13:10:25 UTC 2015
This is an automated email from the git hooks/post-receive script.
detiste-guest pushed a commit to branch master
in repository game-data-packager.
commit d9748cda4957c306e9bbd784ae01c90047823031
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Sun Jul 19 15:08:27 2015 +0200
Grim Fandango: add Scythe icon, own work
---
data/grimfandango.svg | 105 ++++++++++++++++++++++++++
data/residualvm-common.desktop.in | 9 ---
game_data_packager/games/residualvm_common.py | 70 ++++++++++++-----
3 files changed, 156 insertions(+), 28 deletions(-)
diff --git a/data/grimfandango.svg b/data/grimfandango.svg
new file mode 100644
index 0000000..4e6b25c
--- /dev/null
+++ b/data/grimfandango.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="64"
+ height="64"
+ id="svg4152"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ viewBox="0 0 64 64"
+ sodipodi:docname="grimfandango.svg">
+ <defs
+ id="defs4154">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4727">
+ <stop
+ style="stop-color:#cccccc;stop-opacity:1;"
+ offset="0"
+ id="stop4729" />
+ <stop
+ style="stop-color:#cccccc;stop-opacity:0;"
+ offset="1"
+ id="stop4731" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4727"
+ id="linearGradient4733"
+ x1="12.609982"
+ y1="13.338818"
+ x2="42.596689"
+ y2="13.338818"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.556349"
+ inkscape:cx="43.062575"
+ inkscape:cy="50.941071"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1001"
+ inkscape:window-x="-3"
+ inkscape:window-y="-3"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4157">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:date>2015/07/19</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Alexandre Detiste</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://www.gnu.org/licenses/gpl-2.0" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 24.636364,60.636364 C 21.883369,50.30618 18.456028,42.577015 18.112573,34.654593 17.424749,24.917579 16.427411,16.269304 11.090909,9.1818182"
+ id="path4721"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 16.363636,18.454545 C 24.134088,14.20939 34.687443,13.049174 44.818181,11.636363 37.711391,8.7024253 27.719932,7.3710814 11.909091,9.2727273"
+ id="path4723"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="opacity:0.73999993;fill:url(#linearGradient4733);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.18181819;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 16.524244,17.57966 c -0.837976,-2.540449 -2.123058,-5.306245 -3.37378,-7.261163 l -0.385196,-0.6020733 0.92381,-0.1038194 c 1.701375,-0.1912034 4.995151,-0.452115 7.086277,-0.561329 2.351363,-0.1228055 8.843905,-0.06572 10.519352,0.092492 3.202934,0.3024513 5.601748,0.6918975 8.136363,1.3209347 1.586062,0.393627 3.322926,0.934949 3.045455,0.949167 -0.381483,0.01955 -7.389954,1.052886 -9.045455,1.333675 -6.793251,1.152201 -11.779994,2.549041 -15.580904,4.364378 -0.669497,0.319 [...]
+ id="path4725"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/data/residualvm-common.desktop.in b/data/residualvm-common.desktop.in
deleted file mode 100644
index 6fd2e00..0000000
--- a/data/residualvm-common.desktop.in
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=LONG
-GenericName=Adventure Game
-TryExec=residualvm
-Exec=residualvm -p /PATH GAME
-Icon=residualvm
-Terminal=false
-Type=Application
-Categories=Game
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
index ec4c6b5..a67e45b 100644
--- a/game_data_packager/games/residualvm_common.py
+++ b/game_data_packager/games/residualvm_common.py
@@ -16,15 +16,20 @@
# You can find the GPL license text on a Debian system under
# /usr/share/common-licenses/GPL-2.
+import configparser
import logging
import os
+import subprocess
from .. import GameData
from ..paths import DATADIR
-from ..util import (TemporaryUmask, copy_with_substitutions, mkdir_p)
+from ..util import mkdir_p
logger = logging.getLogger('game-data-packager.games.residualvm-common')
+def install_data(from_, to):
+ subprocess.check_call(['cp', '--reflink=auto', from_, to])
+
class ResidualvmGameData(GameData):
def __init__(self, shortname, data, workdir=None):
super(ResidualvmGameData, self).__init__(shortname, data,
@@ -44,24 +49,51 @@ class ResidualvmGameData(GameData):
if package.type == 'expansion':
return
- with TemporaryUmask(0o022):
- appdir = os.path.join(destdir, 'usr/share/applications')
- mkdir_p(appdir)
- from_ = os.path.join(DATADIR, 'residualvm-common.desktop.in')
- copy_with_substitutions(open(from_,
- encoding='utf-8'),
- open(os.path.join(appdir, '%s.desktop' % package.name),
- 'w', encoding='utf-8'),
- GAME=self.gameid,
- PATH=package.install_to,
- LONG=(package.longname or self.longname))
+ icon = package.name
+ for from_ in (self.locate_steam_icon(package),
+ os.path.join(DATADIR, package.name + '.png'),
+ os.path.join(DATADIR, self.shortname + '.png'),
+ os.path.join('/usr/share/pixmaps', icon + '.png'),
+ os.path.join(DATADIR, self.shortname.strip('1234567890') + '.png')):
+ if from_ and os.path.exists(from_):
+ pixdir = os.path.join(destdir, 'usr/share/pixmaps')
+ mkdir_p(pixdir)
+ install_data(from_, os.path.join(pixdir, '%s.png' % icon))
+ break
+ else:
+ icon = 'residualvm'
+
+ from_ = os.path.splitext(from_)[0] + '.svgz'
+ if os.path.exists(from_):
+ svgdir = os.path.join(destdir, 'usr/share/icons/hicolor/scalable/apps')
+ mkdir_p(svgdir)
+ install_data(from_, os.path.join(svgdir, '%s.svgz' % icon))
+
+ appdir = os.path.join(destdir, 'usr/share/applications')
+ mkdir_p(appdir)
+
+ desktop = configparser.RawConfigParser()
+ desktop.optionxform = lambda option: option
+ desktop['Desktop Entry'] = {}
+ entry = desktop['Desktop Entry']
+ entry['Name'] = package.longname or self.longname
+ entry['GenericName'] = self.genre + ' Game'
+ entry['TryExec'] = 'residualvm'
+ entry['Icon'] = icon
+ entry['Terminal'] = 'false'
+ entry['Type'] = 'Application'
+ entry['Categories'] = 'Game'
+ entry['Exec'] = 'residualvm -p /%s %s' % (package.install_to, self.gameid)
+ with open(os.path.join(appdir, '%s.desktop' % package.name),
+ 'w', encoding='utf-8') as output:
+ desktop.write(output, space_around_delimiters=False)
- lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
- mkdir_p(lintiandir)
- with open(os.path.join(lintiandir, package.name),
- 'a', encoding='utf-8') as o:
- o.write('%s: desktop-command-not-in-package '
- 'usr/share/applications/%s.desktop residualvm\n'
- % (package.name, package.name))
+ lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
+ mkdir_p(lintiandir)
+ with open(os.path.join(lintiandir, package.name),
+ 'a', encoding='utf-8') as o:
+ o.write('%s: desktop-command-not-in-package '
+ 'usr/share/applications/%s.desktop residualvm\n'
+ % (package.name, package.name))
GAME_DATA_SUBCLASS = ResidualvmGameData
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list