Permalink
Browse files

Sync viewer_manifest mac stuff a bit for cef... pointless~

  • Loading branch information...
1 parent 21164d1 commit a9cf5743a3aeb732388bcf8089e106dcbe35d14b @Lirusaito Lirusaito committed Jul 10, 2016
Showing with 46 additions and 12 deletions.
  1. +46 −12 indra/newview/viewer_manifest.py
@@ -675,13 +675,14 @@ def construct(self):
self.path("licenses-mac.txt", dst="licenses.txt")
self.path("featuretable_mac.txt")
- self.path("SecondLife.nib")
icon_path = self.icon_path()
if self.prefix(src=icon_path, dst="") :
- self.path("%s_icon.icns" % self.viewer_branding_id())
+ self.path("%s.icns" % self.viewer_branding_id())
self.end_prefix(icon_path)
+ self.path("SecondLife.nib")
+
# Translations
self.path("English.lproj")
self.path("German.lproj")
@@ -706,7 +707,6 @@ def construct(self):
# in our bundled sub-apps. For each of these we'll create a
# symlink from sub-app/Contents/Resources to the real .dylib.
# Need to get the llcommon dll from any of the build directories as well.
-
libfile = "libllcommon.dylib"
dylibs = self.path_optional(self.find_existing_file(os.path.join(os.pardir,
@@ -760,19 +760,29 @@ def construct(self):
# create a symlink to the real copy of the dylib.
resource_path = self.dst_path_of(os.path.join(app, "Contents", "Resources"))
for libfile in dylibs:
- symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, os.path.basename(libfile)),
- os.path.join(resource_path, os.path.basename(libfile)))
+ src = os.path.join(os.pardir, os.pardir, os.pardir, libfile)
+ dst = os.path.join(resource_path, libfile)
+ try:
+ symlinkf(src, dst)
+ except OSError as err:
+ print "Can't symlink %s -> %s: %s" % (src, dst, err)
+
+ # LLCefLib helper apps go inside AlchemyPlugin.app
+ if self.prefix(src="", dst="AlchemyPlugin.app/Contents/Frameworks"):
+ for helperappfile in ('LLCefLib Helper.app',
+ 'LLCefLib Helper EH.app'):
+ self.path2basename(relpkgdir, helperappfile)
+
+ pluginframeworkpath = self.dst_path_of('Chromium Embedded Framework.framework');
+
+ self.end_prefix()
# plugins
if self.prefix(src="", dst="llplugin"):
- self.path2basename(os.path.join(os.pardir,"plugins", "filepicker", self.args['configuration']),
- "basic_plugin_filepicker.dylib")
- self.path2basename(os.path.join(os.pardir,"plugins", "quicktime", self.args['configuration']),
+ self.path2basename("../media_plugins/quicktime/" + self.args['configuration'],
"media_plugin_quicktime.dylib")
- self.path2basename(os.path.join(os.pardir,"plugins", "webkit", self.args['configuration']),
- "media_plugin_webkit.dylib")
- self.path2basename(os.path.join(os.pardir,"packages", "libraries", "universal-darwin", "lib", "release"),
- "libllqtwebkit.dylib")
+ self.path2basename("../media_plugins/cef/" + self.args['configuration'],
+ "media_plugin_cef.dylib")
self.end_prefix("llplugin")
@@ -781,6 +791,30 @@ def construct(self):
self.end_prefix("Resources")
+ # CEF framework goes inside Second Life.app/Contents/Frameworks
+ if self.prefix(src="", dst="Frameworks"):
+ frameworkfile="Chromium Embedded Framework.framework"
+ self.path2basename(relpkgdir, frameworkfile)
+ self.end_prefix("Frameworks")
+
+ # This code constructs a relative path from the
+ # target framework folder back to the location of the symlink.
+ # It needs to be relative so that the symlink still works when
+ # (as is normal) the user moves the app bunlde out of the DMG
+ # and into the /Applications folder. Note we also call 'raise'
+ # to terminate the process if we get an error since without
+ # this symlink, Second Life web media can't possibly work.
+ # Real Framework folder:
+ # Second Life.app/Contents/Frameworks/Chromium Embedded Framework.framework/
+ # Location of symlink and why it'ds relavie
+ # Second Life.app/Contents/Resources/AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework/
+ frameworkpath = os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, "Frameworks", "Chromium Embedded Framework.framework")
+ try:
+ symlinkf(frameworkpath, pluginframeworkpath)
+ except OSError as err:
+ print "Can't symlink %s -> %s: %s" % (frameworkpath, pluginframeworkpath, err)
+ raise
+
self.end_prefix("Contents")
# NOTE: the -S argument to strip causes it to keep enough info for

0 comments on commit a9cf574

Please sign in to comment.