[game-data-packager] 01/05: add GrimFandango (demo) & residualvm plugin

Simon McVittie smcv at debian.org
Fri Feb 6 22:51:22 UTC 2015


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch master
in repository game-data-packager.

commit 0c9b107ba3afb0510b761c3c992fff7fb4166dbe
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Thu Feb 5 23:33:29 2015 +0100

    add GrimFandango (demo) & residualvm plugin
    
    grimfandango-common.py will generate
    a .desktop file that call this:
    
    residualvm -p /usr/share/games/grimfandango/ grim
    
    the generic icon is shipped in residualvm package
---
 data/grimfandango-demo-data.copyright         |  21 +++++
 data/grimfandango.yaml                        | 126 ++++++++++++++++++++++++++
 data/residualvm-common.desktop.in             |   9 ++
 game_data_packager/games/residualvm_common.py |  51 +++++++++++
 4 files changed, 207 insertions(+)

diff --git a/data/grimfandango-demo-data.copyright b/data/grimfandango-demo-data.copyright
new file mode 100644
index 0000000..308fd89
--- /dev/null
+++ b/data/grimfandango-demo-data.copyright
@@ -0,0 +1,21 @@
+The grimfandango-demo-data package was generated using
+game-data-packager.
+Copyright © 2008-2013 Jonathan Dowland <jmtd at debian.org>.
+
+The files within "/usr/share/games/grimfandango" are subject to the
+copyright described in /usr/share/doc/grimfandango-demo-data/license.txt .
+
+The remainder of this package is covered by the following
+Licence:
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+On Debian GNU/Linux systems, the complete text of the GNU General Public
+License can be found in /usr/share/common-licenses/GPL-2.
diff --git a/data/grimfandango.yaml b/data/grimfandango.yaml
new file mode 100644
index 0000000..21c55f1
--- /dev/null
+++ b/data/grimfandango.yaml
@@ -0,0 +1,126 @@
+%YAML 1.2
+---
+
+plugin: residualvm_common
+gameid: grim
+
+packages:
+  grimfandango-demo-data:
+    longname: "Grim Fandango (demo)"
+    debian:
+      engine: residualvm
+    install:
+    - gfdemo01.lab
+    - grimdemo.mus
+    - sound001.lab
+    - voice001.lab
+    - Movies/al_close.san
+    - Movies/al_open.san
+    - Movies/hq_close.san
+    - Movies/hq_open.san
+    - Movies/demo_backend.san
+    - Movies/demo_frontend.san
+    optional:
+    - grim.doc
+    - license.txt
+    - readme.txt
+    install_to: usr/share/games/grimfandango
+
+files:
+  grim.doc:
+    install_to: $docdir
+  license.txt:
+    install_to: $docdir
+  readme.txt:
+    install_to: $docdir
+
+  GrimFandangoDemo.zip:
+    download: https://archive.org/download/GrimFandangoDemo/GrimFandangoDemo.zip
+    provides:
+    - gffulldemo.exe
+    unpack:
+      format: zip
+
+  gffulldemo.exe:
+    provides:
+    - gfdemo01.lab
+    - grimdemo.mus
+    - sound001.lab
+    - voice001.lab
+    - Movies/al_close.san
+    - Movies/al_open.san
+    - Movies/hq_close.san
+    - Movies/hq_open.san
+    - Movies/demo_backend.san
+    - Movies/demo_frontend.san
+    - grim.doc
+    - license.txt
+    - readme.txt
+    unpack:
+      format: zip
+
+cksums: |
+  _ 29489930  gfdemo01.lab
+  _ 247808    grim.doc
+  _ 20366437  grimdemo.mus
+  _ 3570      license.txt
+  _ 11998     readme.txt
+  _ 3405950   sound001.lab
+  _ 13722714  voice001.lab
+  _ 1614692   Movies/al_close.san
+  _ 1200420   Movies/al_open.san
+  _ 64382     Movies/demo_backend.san
+  _ 399622    Movies/demo_frontend.san
+  _ 706118    Movies/hq_close.san
+  _ 721192    Movies/hq_open.san
+  _ 56955092  GrimFandangoDemo.zip
+  _ 57009152  gffulldemo.exe
+md5sums: |
+  25d831d57a93eb3ab8edbb07b7b63943  gfdemo01.lab
+  72b4fdd4c5c9cb13d939a6350ee93fc0  grim.doc
+  3ba28e7e36a49b5fd01ba98e3c772fe8  grimdemo.mus
+  31115996e024ec1c8c0625fd8f1de52a  license.txt
+  257d9e1631e9642bd57a9ae231db3f79  readme.txt
+  c91a7d405d15fb198a9cb31f89637026  sound001.lab
+  f24a45079394fee296a0f7fad07c7fad  voice001.lab
+  b63b58537803e3c7d108bf24fb769be0  Movies/al_close.san
+  0cbd82d4f58b08500c61cf5ca69ae2ac  Movies/al_open.san
+  2c653237460e74e6bdcdca7aeb5961cf  Movies/demo_backend.san
+  f3b0fa334021401a7d235d0b9a579ff5  Movies/demo_frontend.san
+  ca02511e8360cade1679a1d3305633b4  Movies/hq_close.san
+  abe0e89f0b1786cb8db3277cec13700f  Movies/hq_open.san
+  a47954de13578cebbcb4e151f4d0fd2d  GrimFandangoDemo.zip
+  7ad1a9fd005214a3bb426f3f796b7bce  gffulldemo.exe
+sha1sums: |
+  3c1dc57de81be733451ab2f81a2fec6bc23388ad  gfdemo01.lab
+  a9c3958cc2d6904a402ffbfe34a3c22472948df1  grim.doc
+  9d79a5c44291713c0fa8174b296b9e569941ba38  grimdemo.mus
+  9753cc809c0385b0f8f4b084a0c6cecb7b3f86fa  license.txt
+  1147558a5e402bab50db44b256b01bbfd05e6418  readme.txt
+  c88690928218234b11a0ed154c27266772353d3d  sound001.lab
+  fc2d5aed4f7389e9aaa25bd0007861452e449124  voice001.lab
+  73cd3837d424a47c0285d293b5efe9da19693e26  Movies/al_close.san
+  9d731fdbeb70609b690198b82071a8f72ff35b23  Movies/al_open.san
+  74ef767739899515e8991745f3e62bfb2c6e9355  Movies/demo_backend.san
+  48f5d65d320c1fcdcc1a0de6cf7ed9ac27280f3a  Movies/demo_frontend.san
+  1a07ca502fd3cb140a93527a2a5f8443ddf31e04  Movies/hq_close.san
+  b6dcfdcb7c88330b920e56d311353d9aecf121bb  Movies/hq_open.san
+  63ee2e378b4b1d8e770e12eae1ffdc6557c08458  GrimFandangoDemo.zip
+  632bbb6b8e8907a280de6ef54fa82ff2a2df2e54  gffulldemo.exe
+sha256sums: |
+  3abe7ea4607ea4b8e01d5320bd4cd7ba4e5dd7a44f4b6bb9c87940789de46109  gfdemo01.lab
+  9d40e8d44b55f3ec8572a68d18c218cebed25b22ac5a8a885f35a00351a22292  grim.doc
+  4de6ca4fa176af64e2c8744d885519993c9b82b77067e2fab1907bf5701a23e2  grimdemo.mus
+  3b6d903709d0e8c5233f2b06ab40d19ff821791f4dfdb5cc33f998ac321a291d  license.txt
+  98616a17e26990eeaf21efa13c2c489cbca7f456b4d8309896c02f4a3a4a9843  readme.txt
+  4b4879ee424cf8a1abe8e0f7ba6bc41c383e5946d54ee4be0c4c5e4eab4a23df  sound001.lab
+  46474b1e0c82836cf09e2d65866eb5e0c13b8afd0becece98b04945fde57ee02  voice001.lab
+  77e142104383e2478edacf19e7bb14f6662b2293e0ec7229b6eb1bf26a1d237d  Movies/al_close.san
+  495af162818222531b3d3b689e3e94ab8492de0748e58e2b77773fe352cdda5b  Movies/al_open.san
+  0c35b50c5abd21878a7c9b13431900238cc8a9a4560f5de253d4cf2d6f849524  Movies/demo_backend.san
+  ee5ff913dbc5a0c972105fe7fd8369ab4b4f489c430bb92d26a73e5763ce0f36  Movies/demo_frontend.san
+  d0572b226e4698db21a8ec192cf18b1a3d112e2def4cbdb756205e744e55f4a4  Movies/hq_close.san
+  f604b1275195857e4e1168467d53a2b6d394a54f4fb48b65b01b5a119dea474d  Movies/hq_open.san
+  290193a7542efa2609c8a562ee0724a5148f79a1657d65df0e00399f9c9dea9b  GrimFandangoDemo.zip
+  dda6a1b60004acf0f07340beb6e582d360e90f8758be1a5bec1fd6b0f5aee548  gffulldemo.exe
+...
diff --git a/data/residualvm-common.desktop.in b/data/residualvm-common.desktop.in
new file mode 100644
index 0000000..f7def8c
--- /dev/null
+++ b/data/residualvm-common.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=Adventure Game
+TryExec=residualvm
+Exec=residualvm -p /PATH GAME
+Icon=/usr/share/pixmaps/residualvm.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
new file mode 100644
index 0000000..2eba0b1
--- /dev/null
+++ b/game_data_packager/games/residualvm_common.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python3
+# encoding=utf-8
+#
+# Copyright © 2015 Simon McVittie <smcv at debian.org>
+#             2015 Alexandre Detiste <alexandre at detiste.be>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# You can find the GPL license text on a Debian system under
+# /usr/share/common-licenses/GPL-2.
+
+import logging
+import os
+import subprocess
+
+from .. import GameData, GameDataPackage
+from ..paths import DATADIR
+from ..util import (TemporaryUmask, copy_with_substitutions, mkdir_p)
+
+logger = logging.getLogger('game-data-packager.games.residualvm-common')
+
+class ResidualvmGameData(GameData):
+    def __init__(self, shortname, yaml_data, workdir=None):
+        super(ResidualvmGameData, self).__init__(shortname, yaml_data,
+                workdir=workdir)
+
+        self.gameid = self.yaml['gameid']
+
+    def fill_extra_files(self, package, destdir):
+        super(ResidualvmGameData, self).fill_extra_files(package, destdir)
+
+        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))
+
+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