[game-data-packager] 03/03: use revived zcode-interpreter alternative on Debian ***

Alexandre Detiste detiste-guest at moszumanska.debian.org
Wed Jan 20 08:41:19 UTC 2016


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 86f1311a5057f828b020d3fa0f43350f03559566
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Wed Jan 20 09:40:42 2016 +0100

    use revived zcode-interpreter alternative on Debian ***
    
    keep heuristic for other distros
---
 game_data_packager/games/z_code.py | 48 ++++++++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 18 deletions(-)

diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index 89daf36..1caf4d2 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -27,6 +27,7 @@ from ..build import (PackagingTask)
 from ..util import (TemporaryUmask,
                     which,
                     mkdir_p)
+from ..version import (FORMAT)
 
 logger = logging.getLogger('game-data-packager.games.z_code')
 
@@ -42,7 +43,8 @@ class ZCodeGameData(GameData):
             assert package.z_file
 
         if self.engine is None:
-            self.engine = 'gargoyle-free | frotz'
+            # RPM format can't handle alternatives and will ignore this
+            self.engine = 'gargoyle-free | zcode-interpreter'
         if self.genre is None:
             self.genre = 'Adventure'
 
@@ -67,14 +69,25 @@ class ZCodeTask(PackagingTask):
             entry['Categories'] = 'Game;'
             entry['GenericName'] = self.game.genre + ' Game'
             entry['Name'] = package.longname or self.game.longname
-            engine = 'gargoyle-free'
+            engine = 'zcode-interpreter'
             entry['Terminal'] = 'false'
-            if not self.packaging.is_installed('gargoyle-free'):
-                for try_engine in ('frotz', 'nfrotz', 'fizmo'):
+            if FORMAT != 'deb':
+                # keep engines sorted by relevance
+                for try_engine, terminal in (('gargoyle', False),
+                                             ('gargoyle-free', False),
+                                             ('frotz', True),
+                                             ('nfrotz', True),
+                                             ('fizmo', True),
+                                             ('fizmo-cursenw', True),
+                                             ('fizmo-console', True),
+                                             ('zjip', True)):
                     if which(try_engine):
                         engine = try_engine
-                        entry['Terminal'] = 'true'
+                        if terminal:
+                            entry['Terminal'] = 'true'
                         break
+                else:
+                    engine = 'gargoyle'
             entry['TryExec'] = engine
             arg = '/' + install_to + '/' + package.z_file
             entry['Exec'] = engine + ' ' + arg
@@ -97,18 +110,17 @@ class ZCodeTask(PackagingTask):
                     'usr/share/applications/%s.desktop %s'
                      % (package.name, engine))
 
-            if engine != 'gargoyle-free':
-                engine = which(engine)
-                bindir = os.path.join(destdir, self.packaging.BINDIR)
-                mkdir_p(bindir)
-                pgm = package.name[0:len(package.name)-len('-data')]
-                path = os.path.join(bindir, pgm)
-                with open(path, 'w') as f:
-                     f.write('#!/bin/sh\n')
-                     f.write('test -x %s && exec %s $@ %s\n' %
-                             (engine, engine, arg))
-                     f.write('echo "You need to install some engine '
-                                   'like frotz to play this game"\n')
-                os.chmod(path, 0o755)
+            engine = which(engine)
+            bindir = os.path.join(destdir, self.packaging.BINDIR)
+            mkdir_p(bindir)
+            pgm = package.name[0:len(package.name)-len('-data')]
+            path = os.path.join(bindir, pgm)
+            with open(path, 'w') as f:
+                 f.write('#!/bin/sh\n')
+                 f.write('test -x %s && exec %s $@ %s\n' %
+                         (engine, engine, arg))
+                 f.write('echo "You need to install some Z-Code interpreter '
+                               'like Frotz or Gargoyle to play this game"\n')
+                 os.chmod(path, 0o755)
 
 GAME_DATA_SUBCLASS = ZCodeGameData

-- 
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