summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2021-02-06 14:41:26 +0100
committerMichael Weiss <dev.primeos@gmail.com>2021-02-07 12:27:36 +0100
commitd55603f11d36ae38ca76dec8d95bc55d2115f104 (patch)
tree2d86b73aa357478e98fb4a86c7389feefa0a97f6
parentMerge pull request #112149 from prusnak/binwalk (diff)
downloadnixpkgs-d55603f11d36ae38ca76dec8d95bc55d2115f104.tar.gz
chromium: Remove the Adobe Flash Player plugin support
The Flash support was completely removed in Chromium M88: - https://www.chromium.org/flash-roadmap#TOC-Flash-Support-Removed-from-Chromium-Target:-Chrome-88---Jan-2021- - https://chromestatus.com/feature/5643527180517376 See #110314.
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix92
2 files changed, 1 insertions, 100 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 900e823bb75d..79899d822b00 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -12,7 +12,6 @@
, gnomeSupport ? false, gnome ? null
, gnomeKeyringSupport ? false
, proprietaryCodecs ? true
-, enablePepperFlash ? false
, enableWideVine ? false
, enableVaapi ? false # Disabled by default due to unofficial support
, ungoogled ? false # Whether to build chromium or ungoogled-chromium
@@ -45,10 +44,6 @@ let
browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };
- plugins = callPackage ./plugins.nix {
- inherit enablePepperFlash;
- };
-
ungoogled-chromium = callPackage ./ungoogled.nix {};
};
@@ -166,7 +161,6 @@ in stdenv.mkDerivation {
buildCommand = let
browserBinary = "${chromiumWV}/libexec/chromium/chromium";
- getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")";
libPath = lib.makeLibraryPath [ libva pipewire_0_2 ];
in with lib; ''
@@ -174,8 +168,7 @@ in stdenv.mkDerivation {
eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
--add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \
- ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"} \
- ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
+ ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"}
ed -v -s "$out/bin/chromium" << EOF
2i
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
deleted file mode 100644
index 355f56331720..000000000000
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib, stdenv, gcc
-, jshon
-, glib
-, nspr
-, nss
-, fetchzip
-, enablePepperFlash ? false
-
-, upstream-info
-}:
-
-with lib;
-
-let
- mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}";
-
- # Generate a shell fragment that emits flags appended to the
- # final makeWrapper call for wrapping the browser's main binary.
- #
- # Note that this is shell-escaped so that only the variable specified
- # by the "output" attribute is substituted.
- mkPluginInfo = { output ? "out", allowedVars ? [ output ]
- , flags ? [], envVars ? {}
- }: let
- shSearch = ["'"] ++ map (var: "@${var}@") allowedVars;
- shReplace = ["'\\''"] ++ map (var: "'\"\${${var}}\"'") allowedVars;
- # We need to triple-escape "val":
- # * First because makeWrapper doesn't do any quoting of its arguments by
- # itself.
- # * Second because it's passed to the makeWrapper call separated by IFS but
- # not by the _real_ arguments, for example the Widevine plugin flags
- # contain spaces, so they would end up as separate arguments.
- # * Third in order to be correctly quoted for the "echo" call below.
- shEsc = val: "'${replaceStrings ["'"] ["'\\''"] val}'";
- mkSh = val: "'${replaceStrings shSearch shReplace (shEsc val)}'";
- mkFlag = flag: ["--add-flags" (shEsc flag)];
- mkEnvVar = key: val: ["--set" (shEsc key) (shEsc val)];
- envList = mapAttrsToList mkEnvVar envVars;
- quoted = map mkSh (flatten ((map mkFlag flags) ++ envList));
- in ''
- mkdir -p "''$${output}/nix-support"
- echo ${toString quoted} > "''$${output}/nix-support/wrapper-flags"
- '';
-
- flash = stdenv.mkDerivation rec {
- pname = "flashplayer-ppapi";
- version = "32.0.0.465";
-
- src = fetchzip {
- url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
- sha256 = "16qbc2s8dg2rwggphf8f5665iccc6lrvgz45bdwskg9pwg87hlj1";
- stripRoot = false;
- };
-
- patchPhase = ''
- chmod +x libpepflashplayer.so
- patchelf --set-rpath "${mkrpath [ gcc.cc ]}" libpepflashplayer.so
- '';
-
- doCheck = true;
- checkPhase = ''
- ! find -iname '*.so' -exec ldd {} + | grep 'not found'
- '';
-
- installPhase = ''
- flashVersion="$(
- "${jshon}/bin/jshon" -F manifest.json -e version -u
- )"
-
- install -vD libpepflashplayer.so "$out/lib/libpepflashplayer.so"
-
- ${mkPluginInfo {
- allowedVars = [ "out" "flashVersion" ];
- flags = [
- "--ppapi-flash-path=@out@/lib/libpepflashplayer.so"
- "--ppapi-flash-version=@flashVersion@"
- ];
- }}
- '';
-
- dontStrip = true;
-
- meta = {
- license = lib.licenses.unfree;
- maintainers = with lib.maintainers; [ taku0 ];
- platforms = platforms.x86_64;
- };
- };
-
-in {
- enabled = optional enablePepperFlash flash;
-}