X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fbundle_env_linux.cc;h=80830964b4e9f50be6bd16adeb19d2bc1a0c6a83;hb=c7863289664f0c847f6a5e1c0fa5b4c731c134d3;hp=ad484aa7c7df1e92ce8c658fa117935b442eabea;hpb=e5e12acc5698090f2c0c614385e457cc0b46fbb0;p=ardour.git diff --git a/gtk2_ardour/bundle_env_linux.cc b/gtk2_ardour/bundle_env_linux.cc index ad484aa7c7..80830964b4 100644 --- a/gtk2_ardour/bundle_env_linux.cc +++ b/gtk2_ardour/bundle_env_linux.cc @@ -17,7 +17,6 @@ */ -#include #include #include #include @@ -37,16 +36,17 @@ #include "pbd/pathexpand.h" #include "pbd/file_utils.h" +#include "ardour_http.h" #include "bundle_env.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace PBD; using namespace ARDOUR; using namespace std; void -fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir) +fixup_bundle_environment (int /*argc*/, char* argv[], string & localedir) { /* THIS IS FOR LINUX - its just about the only place where its * acceptable to build paths directly using '/'. @@ -60,18 +60,23 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir) std::string path; std::string dir_path = Glib::path_get_dirname (Glib::path_get_dirname (argv[0])); - std::string userconfigdir = user_config_directory(); +#if defined WINDOWS_VST_SUPPORT + // argv[0] will be "wine" + if (g_getenv ("INSTALL_DIR")) { + dir_path = g_getenv ("INSTALL_DIR"); + } +#endif #ifdef ENABLE_NLS if (!ARDOUR::translations_are_enabled ()) { - (*localedir) = "/this/cannot/exist"; + localedir = "/this/cannot/exist"; } else { /* force localedir into the bundle */ vector lpath; lpath.push_back (dir_path); lpath.push_back ("share"); lpath.push_back ("locale"); - (*localedir) = canonical_path (Glib::build_filename (lpath)).c_str(); + localedir = canonical_path (Glib::build_filename (lpath)).c_str(); } #endif @@ -90,10 +95,10 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir) g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1); g_setenv ("PATH", (dir_path + "/bin:" + std::string(g_getenv ("PATH"))).c_str(), 1); - /* unset GTK_RC_FILES so that we only load the RC files that we define + /* unset GTK2_RC_FILES so that we only load the RC files that we define */ - g_unsetenv ("GTK_RC_FILES"); + g_unsetenv ("GTK2_RC_FILES"); /* Tell fontconfig where to find fonts.conf. Use the system version if it exists, otherwise use the stuff we included in the bundle @@ -106,48 +111,16 @@ fixup_bundle_environment (int /*argc*/, char* argv[], const char** localedir) error << _("No fontconfig file found on your system. Things may looked very odd or ugly") << endmsg; } - /* write a pango.rc file and tell pango to use it. we'd love - to put this into the Ardour.app bundle and leave it there, - but the user may not have write permission. so ... - - we also have to make sure that the user ardour directory - actually exists ... - */ - - if (g_mkdir_with_parents (userconfigdir.c_str(), 0755) < 0) { - error << string_compose (_("cannot create user %3 folder %1 (%2)"), userconfigdir, strerror (errno), PROGRAM_NAME) - << endmsg; - } else { - - path = Glib::build_filename (userconfigdir, "pango.rc"); - std::ofstream pangorc (path.c_str()); - if (!pangorc) { - error << string_compose (_("cannot open pango.rc file %1") , path) << endmsg; - } else { - pangorc << "[Pango]\nModuleFiles=" - << Glib::build_filename (userconfigdir, "pango.modules") - << endl; - pangorc.close (); - } - - g_setenv ("PANGO_RC_FILE", path.c_str(), 1); - - /* similar for GDK pixbuf loaders, but there's no RC file required - to specify where it lives. - */ - - g_setenv ("GDK_PIXBUF_MODULE_FILE", Glib::build_filename (userconfigdir, "gdk-pixbuf.loaders").c_str(), 1); - } - - /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack - from looking outside the bundle to find the charset.alias file. - */ - g_setenv ("CHARSETALIASDIR", dir_path.c_str(), 1); + /* this doesn't do much but setting it should prevent various parts of the GTK/GNU stack + from looking outside the bundle to find the charset.alias file. + */ + g_setenv ("CHARSETALIASDIR", dir_path.c_str(), 1); + ArdourCurl::HttpGet::setup_certificate_paths (); } -void -load_custom_fonts() +void +load_custom_fonts() { std::string ardour_mono_file;