return run(cmd, cwd=dir, env=env).returncode
-def wine(dir: PurePath) -> int:
+def wine(dir: PurePath, link: PurePath, opt: str = None) -> int:
+ # TODO: wine-{opt}.bat
wine_bat = dir.joinpath("wine.bat")
wine_prefix = dir.joinpath("wine.prefix")
- cmd, env = custom.cmd("wine", wine_bat, wine_prefix)
+ cmd, env = custom.cmd("wine", wine_bat, link, wine_prefix)
if (not cmd):
prog = custom.program("wine")
if (prog):
return __programs__[program]
-def cmd(prog: str, p1: PurePath, p2: PurePath) -> (list, dict):
+def cmd(prog:str, t:PurePath, lnk:PurePath, pre:PurePath=None) -> (list, dict):
cmd = None
env = environ.copy()
if (prog == "dosbox"):
if (program("app.sh")):
cmd = [
- program("app.sh"),"--wait","dosbox","--link",p1.as_posix()
+ program("app.sh"),"--wait", "dosbox", "--link", t.as_posix()
]
elif (prog == "wine"):
if (program("launch.sh")):
- cmd = [ program("launch.sh"), "wine", "--dlink", p1.as_posix() ]
- env["OPTS"] = (
- "-e WINEPREFIX='" + p2.as_posix().replace("'", "\\'") + "'"
+ cmd = [ program("launch.sh"), "wine", "--dlink", t.as_posix() ]
+ lnk_path = lnk.as_posix().replace("'", "\\'")
+ env["OPTS"] = ( ""
+ + "-e WINEPREFIX='" + pre.as_posix().replace("'", "\\'") + "'"
+ + " -v '" + lnk_path + ":" + lnk_path + "'"
)
elif (prog == "start_sh"):
if (program("launch.sh")):