summaryrefslogtreecommitdiffstats
path: root/zenmap/install_scripts/macosx/zenmap_launcher.py
diff options
context:
space:
mode:
Diffstat (limited to 'zenmap/install_scripts/macosx/zenmap_launcher.py')
-rw-r--r--zenmap/install_scripts/macosx/zenmap_launcher.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/zenmap/install_scripts/macosx/zenmap_launcher.py b/zenmap/install_scripts/macosx/zenmap_launcher.py
new file mode 100644
index 0000000..98aca78
--- /dev/null
+++ b/zenmap/install_scripts/macosx/zenmap_launcher.py
@@ -0,0 +1,43 @@
+from os.path import join, dirname, abspath, normpath
+import sys, os
+import platform
+
+
+bundlepath = sys.argv[0]
+
+bundle_contents = join(bundlepath, 'Contents')
+bundle_res = join(bundle_contents, 'Resources')
+
+bundle_lib = join(bundle_res, 'lib')
+bundle_bin = join(bundle_res, 'bin')
+bundle_data = join(bundle_res, 'share')
+bundle_etc = join(bundle_res, 'etc')
+
+os.environ['XDG_DATA_DIRS'] = bundle_data
+os.environ['DYLD_LIBRARY_PATH'] = bundle_lib
+os.environ['LD_LIBRARY_PATH'] = bundle_lib
+os.environ['GTK_DATA_PREFIX'] = bundle_res
+os.environ['GTK_EXE_PREFIX'] = bundle_res
+os.environ['GTK_PATH'] = bundle_res
+
+os.environ['PANGO_RC_FILE'] = join(bundle_etc, 'pango', 'pangorc')
+os.environ['PANGO_SYSCONFDIR'] = bundle_etc
+os.environ['PANGO_LIBDIR'] = bundle_lib
+os.environ['GDK_PIXBUF_MODULE_FILE'] = join(bundle_lib, 'gdk-pixbuf-2.0',
+ '2.10.0', 'loaders.cache')
+if int(platform.release().split('.')[0]) > 10:
+ os.environ['GTK_IM_MODULE_FILE'] = join(bundle_etc, 'gtk-3.0',
+ 'gtk.immodules')
+
+os.environ['GI_TYPELIB_PATH'] = join(bundle_lib, 'girepository-1.0')
+
+#Set $PYTHON to point inside the bundle
+PYVER = 'python3.10'
+sys.path.append(bundle_res)
+
+os.environ['USERPROFILE'] = os.environ['HOME']
+os.environ['APPDATA'] = join(os.environ['HOME'], 'Library', 'Application Support')
+# Replace my_app with the file or module with your main() function.
+from zenmapGUI import App
+App.run()
+