Resending, as didn't make it to the list when sent on 18 February...
Hi,
The following patch enables the name of the stub executable to determine
the Python script to run. This allows multiple scripts to use a common
runtime.
Required manual steps are to make copies of the stub in ./MacOS and to
copy the actual Python scripts into ./Resources.
N.B. The py2app/apptemplate/prebuilt contents need to be recreated by
running 'python setup.py build' in py2app/apptemplate, before running
the main 'setup.py install'.
Enjoy!
Dave
=================================================
diff --git a/py2app/apptemplate/src/main.c b/py2app/apptemplate/src/main.c
--- a/py2app/apptemplate/src/main.c
+++ b/py2app/apptemplate/src/main.c
@@ -1017,8 +1017,9 @@
argv_new = alloca((argc + 1) * sizeof(char *));
argv_new[argc] = NULL;
- argv_new[0] = c_mainScript;
- memcpy(&argv_new[1],&argv[1], (argc - 1) * sizeof(char *));
+ //argv_new[0] = c_mainScript;
+ //memcpy(&argv_new[1],&argv[1], (argc - 1) * sizeof(char *));
+ memcpy(argv_new, argv, argc * sizeof(char *));
py2app_PySys_SetArgv(argc, argv_new);
diff --git a/py2app/bootstrap/boot_app.py b/py2app/bootstrap/boot_app.py
--- a/py2app/bootstrap/boot_app.py
+++ b/py2app/bootstrap/boot_app.py
@@ -7,7 +7,7 @@
site.addsitedir(os.path.join(base, 'Python', 'site-packages'))
if not scripts:
import __main__
- for script in scripts:
- path = os.path.join(base, script)
- sys.argv[0] = __file__ = path
- execfile(path, globals(), globals())
+ script = sys.argv[0].split('/')[-1] + '.py'
+ path = os.path.join(base, script)
+ sys.argv[0] = __file__ = path
+ execfile(path, globals(), globals())
=================================================
_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG