@@ -100,6 +100,7 @@ def __init__(
100
100
pre_script : Optional [str ] = None ,
101
101
post_script : Optional [str ] = None ,
102
102
cwd : Optional [str ] = None ,
103
+ disc_image : Optional [str ] = None ,
103
104
):
104
105
_environment = environment .copy ()
105
106
self .config = self ._get_config (config )
@@ -113,7 +114,7 @@ def __init__(
113
114
else self .config .Parameters .gamescope
114
115
)
115
116
self .command = self .get_cmd (
116
- command , pre_script , post_script , environment = _environment
117
+ command , pre_script , post_script , disc_image , environment = _environment
117
118
)
118
119
self .terminal = terminal
119
120
self .env = self .get_env (_environment )
@@ -489,6 +490,7 @@ def get_cmd(
489
490
command ,
490
491
pre_script : Optional [str ] = None ,
491
492
post_script : Optional [str ] = None ,
493
+ disc_image : Optional [str ] = None ,
492
494
return_steam_cmd : bool = False ,
493
495
return_clean_cmd : bool = False ,
494
496
environment : Optional [dict ] = None ,
@@ -602,6 +604,15 @@ def get_cmd(
602
604
603
605
if pre_script not in (None , "" ):
604
606
command = f"sh '{ pre_script } ' ; { command } "
607
+
608
+ if disc_image is not None :
609
+ mount_point = "/tmp/bottles/disc"
610
+ command = f"""
611
+ flatpak-spawn --host mkdir -p '{ mount_point } '
612
+ flatpak-spawn --host fuseiso '{ disc_image } ' '{ mount_point } '
613
+ { command }
614
+ flatpak-spawn --host fusermount -uz '{ mount_point } ' # -z for lazy unmount
615
+ """
605
616
606
617
return command
607
618
0 commit comments