mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-29 16:40:18 +02:00
chromium: Fix plugin_paths patch for version 44.
The pepper effects plugin has been removed and migrated to NaCl, so I'm just dropping the hunk of that patch. Upstream reviow URL: https://codereview.chromium.org/1085393003 Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
7d217e378c
commit
6a8afa4bb3
|
@ -18,7 +18,7 @@ let
|
||||||
"s,^/,,"
|
"s,^/,,"
|
||||||
]);
|
]);
|
||||||
|
|
||||||
pre42 = versionOlder version "42.0.0.0";
|
pre44 = versionOlder version "44.0.0.0";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "chromium-source-${version}";
|
name = "chromium-source-${version}";
|
||||||
|
@ -47,10 +47,10 @@ in stdenv.mkDerivation {
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = if pre42 then [
|
patches = if pre44 then [
|
||||||
./sandbox_userns_36.patch ./nix_plugin_paths.patch
|
|
||||||
] else [
|
|
||||||
./nix_plugin_paths_42.patch
|
./nix_plugin_paths_42.patch
|
||||||
|
] else [
|
||||||
|
./nix_plugin_paths_44.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
patchPhase = let
|
patchPhase = let
|
||||||
|
@ -73,11 +73,10 @@ in stdenv.mkDerivation {
|
||||||
-e 's|/bin/echo|echo|' \
|
-e 's|/bin/echo|echo|' \
|
||||||
-e "/python_arch/s/: *'[^']*'/: '""'/" \
|
-e "/python_arch/s/: *'[^']*'/: '""'/" \
|
||||||
"$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
|
"$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
|
||||||
'' + optionalString useOpenSSL ''
|
|
||||||
cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
|
|
||||||
'' + optionalString (!pre42) ''
|
|
||||||
sed -i -e '/LOG.*no_suid_error/d' \
|
sed -i -e '/LOG.*no_suid_error/d' \
|
||||||
"$main/content/browser/browser_main_loop.cc"
|
"$main/content/browser/browser_main_loop.cc"
|
||||||
|
'' + optionalString useOpenSSL ''
|
||||||
|
cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
|
||||||
|
index 8a205a6..d5c24e1 100644
|
||||||
|
--- a/chrome/common/chrome_paths.cc
|
||||||
|
+++ b/chrome/common/chrome_paths.cc
|
||||||
|
@@ -97,21 +97,14 @@ static base::LazyInstance<base::FilePath>
|
||||||
|
g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
|
||||||
|
|
||||||
|
// Gets the path for internal plugins.
|
||||||
|
-bool GetInternalPluginsDirectory(base::FilePath* result) {
|
||||||
|
-#if defined(OS_MACOSX) && !defined(OS_IOS)
|
||||||
|
- // If called from Chrome, get internal plugins from a subdirectory of the
|
||||||
|
- // framework.
|
||||||
|
- if (base::mac::AmIBundled()) {
|
||||||
|
- *result = chrome::GetFrameworkBundlePath();
|
||||||
|
- DCHECK(!result->empty());
|
||||||
|
- *result = result->Append("Internet Plug-Ins");
|
||||||
|
- return true;
|
||||||
|
- }
|
||||||
|
- // In tests, just look in the module directory (below).
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
- // The rest of the world expects plugins in the module directory.
|
||||||
|
- return PathService::Get(base::DIR_MODULE, result);
|
||||||
|
+bool GetInternalPluginsDirectory(base::FilePath* result,
|
||||||
|
+ const std::string& ident) {
|
||||||
|
+ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
|
||||||
|
+ const char* value = getenv(full_env.c_str());
|
||||||
|
+ if (value == NULL)
|
||||||
|
+ return PathService::Get(base::DIR_MODULE, result);
|
||||||
|
+ else
|
||||||
|
+ *result = base::FilePath(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||||
|
create_dir = true;
|
||||||
|
break;
|
||||||
|
case chrome::DIR_INTERNAL_PLUGINS:
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "ALL"))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case chrome::DIR_PEPPER_FLASH_PLUGIN:
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
|
||||||
|
return false;
|
||||||
|
cur = cur.Append(kPepperFlashBaseDirectory);
|
||||||
|
break;
|
||||||
|
@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||||
|
cur = cur.Append(FILE_PATH_LITERAL("script.log"));
|
||||||
|
break;
|
||||||
|
case chrome::FILE_FLASH_PLUGIN:
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
|
||||||
|
return false;
|
||||||
|
cur = cur.Append(kInternalFlashPluginFileName);
|
||||||
|
break;
|
||||||
|
@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||||
|
// We currently need a path here to look up whether the plugin is disabled
|
||||||
|
// and what its permissions are.
|
||||||
|
case chrome::FILE_NACL_PLUGIN:
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "NACL"))
|
||||||
|
return false;
|
||||||
|
cur = cur.Append(kInternalNaClPluginFileName);
|
||||||
|
break;
|
||||||
|
@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||||
|
cur = cur.DirName();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "PNACL"))
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
|
||||||
|
@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||||
|
// In the component case, this is the source adapter. Otherwise, it is the
|
||||||
|
// actual Pepper module that gets loaded.
|
||||||
|
case chrome::FILE_WIDEVINE_CDM_ADAPTER:
|
||||||
|
- if (!GetInternalPluginsDirectory(&cur))
|
||||||
|
+ if (!GetInternalPluginsDirectory(&cur, "WIDEVINE"))
|
||||||
|
return false;
|
||||||
|
cur = cur.AppendASCII(kWidevineCdmAdapterFileName);
|
||||||
|
break;
|
Loading…
Reference in a new issue