[game-data-packager] 01/01: Z_code: make installed engine detection more generic *

Alexandre Detiste detiste-guest at moszumanska.debian.org
Sun Jan 10 15:23:20 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 6b24e4a53e6e1dd515366344277b5d443b196f8a
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Sun Jan 10 16:22:36 2016 +0100

    Z_code: make installed engine detection more generic *
    
    also accept nfrotz & fizmo as valid engines
---
 game_data_packager/games/z_code.py | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index 90fd8f1..08ca1b8 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -23,6 +23,7 @@ import os
 from .. import GameData
 from ..build import (PackagingTask)
 from ..util import (TemporaryUmask,
+                    which,
                     mkdir_p)
 
 logger = logging.getLogger('game-data-packager.games.z_code')
@@ -59,13 +60,14 @@ class ZCodeTask(PackagingTask):
             entry['Categories'] = 'Game;'
             entry['GenericName'] = self.game.genre + ' Game'
             entry['Name'] = package.longname or self.game.longname
-            if (self.packaging.is_installed('frotz') and
-                    not self.packaging.is_installed('gargoyle-free')):
-                engine = 'frotz'
-                entry['Terminal'] = 'true'
-            else:
-                engine = 'gargoyle-free'
-                entry['Terminal'] = 'false'
+            engine = 'gargoyle-free'
+            entry['Terminal'] = 'false'
+            if not self.packaging.is_installed('gargoyle-free'):
+                for try_engine in ('frotz', 'nfrotz', 'fizmo'):
+                    if which(try_engine):
+                        engine = try_engine
+                        entry['Terminal'] = 'true'
+                        break
             entry['TryExec'] = engine
             arg = '/' + install_to + '/' + package.only_file
             entry['Exec'] = engine + ' ' + arg
@@ -88,15 +90,16 @@ class ZCodeTask(PackagingTask):
                     'usr/share/applications/%s.desktop %s'
                      % (package.name, engine))
 
-            if engine == 'frotz':
+            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/frotz && exec frotz $@ %s\n' %
-                             (self.packaging.BINDIR, arg))
+                     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)

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