Ship some GIO modules on Mac so HTTPS works correctly.

This commit is contained in:
John Maguire 2012-07-30 17:51:45 +02:00
parent 7275cb4b27
commit 06f7acd96b
2 changed files with 21 additions and 1 deletions

17
dist/macdeploy.py vendored
View File

@ -106,6 +106,10 @@ QT_PLUGINS_SEARCH_PATH=[
'/Developer/Applications/Qt/plugins',
]
GIO_MODULES_SEARCH_PATH=[
'/target/lib/gio/modules',
]
class Error(Exception):
pass
@ -131,7 +135,7 @@ class CouldNotFindGstreamerPluginError(Error):
pass
class CouldNotFindScriptPluginError(Error):
class CouldNotFindGioModuleError(Error):
pass
@ -360,12 +364,23 @@ def FindGstreamerPlugin(name):
raise CouldNotFindGstreamerPluginError(name)
def FindGioModule(name):
for path in GIO_MODULES_SEARCH_PATH:
if os.path.exists(path):
for dir, dirs, files in os.walk(path):
if name in files:
return os.path.join(dir, name)
raise CouldNotFindGioModuleError(name)
FixBinary(binary)
for plugin in GSTREAMER_PLUGINS:
FixPlugin(FindGstreamerPlugin(plugin), 'gstreamer')
FixPlugin(FindGstreamerPlugin('gst-plugin-scanner'), '.')
FixPlugin(FindGioModule('libgiognutls.so'), 'gio-modules')
FixPlugin(FindGioModule('libgiolibproxy.so'), 'gio-modules')
try:
FixPlugin('clementine-spotifyblob', '.')

View File

@ -184,6 +184,11 @@ void SetGstreamerEnvironment() {
if (!registry_filename.isEmpty()) {
SetEnv("GST_REGISTRY", registry_filename);
}
#ifdef Q_OS_DARWIN
SetEnv("GIO_EXTRA_MODULES",
QCoreApplication::applicationDirPath() + "/../PlugIns/gio-modules");
#endif
}
#ifdef HAVE_GIO