From cad411f61d6b5179776b2c359d19464a21c19ea4 Mon Sep 17 00:00:00 2001 From: aszlig Date: Thu, 27 Mar 2014 09:49:46 +0100 Subject: [PATCH] chromium/plugins: Use Debian package from sources. This now uses the Debian package from the sources derivation instead of hardcoding it, so we finally should have proper PepperAPI plugin support without crashing plugins and whatnot. Signed-off-by: aszlig --- .../networking/browsers/chromium/plugins.nix | 20 +++++++++---------- .../browsers/chromium/source/default.nix | 7 +++---- .../browsers/chromium/source/update.nix | 5 +++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index 04af90be128..f760b06fe24 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -1,7 +1,8 @@ { stdenv , enablePepperFlash ? false , enablePepperPDF ? false -, fetchurl # XXX + +, source }: with stdenv.lib; @@ -11,21 +12,20 @@ let name = "chromium-binary-plugins"; # XXX: Only temporary and has to be version-specific - src = fetchurl { - url = "https://dl.google.com/linux/chrome/deb/pool/main/g/" - + "google-chrome-unstable/google-chrome-unstable_" - + "35.0.1897.2-1_amd64.deb"; - sha1 = "b68683fc5321d10536e4135c266b14894b7668ed"; - }; + src = source.plugins; phases = [ "unpackPhase" "patchPhase" "checkPhase" "installPhase" ]; outputs = [ "pdf" "flash" ]; - unpackCmd = '' + unpackCmd = let + chan = if source.channel == "dev" then "chrome-unstable" + else if source.channel == "stable" then "chrome" + else "chrome-${source.channel}"; + in '' ensureDir plugins ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \ - ./opt/google/chrome-unstable/PepperFlash \ - ./opt/google/chrome-unstable/libpdf.so + ./opt/google/${chan}/PepperFlash \ + ./opt/google/${chan}/libpdf.so ''; doCheck = true; diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix index 74cc692919e..eca5767e8c0 100644 --- a/pkgs/applications/networking/browsers/chromium/source/default.nix +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -12,9 +12,7 @@ with (import ./update.nix { stdenv.mkDerivation { name = "chromium-source-${version}"; - src = fetchurl { - inherit url sha256; - }; + src = fetchurl main; buildInputs = [ python ]; # cannot patch shebangs otherwise @@ -72,6 +70,7 @@ stdenv.mkDerivation { ''; passthru = { - inherit version; + inherit version channel; + plugins = fetchurl binary; }; } diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/source/update.nix index 7a8144314d5..09f834a90c6 100644 --- a/pkgs/applications/networking/browsers/chromium/source/update.nix +++ b/pkgs/applications/networking/browsers/chromium/source/update.nix @@ -48,9 +48,11 @@ in rec { getChannel = channel: let chanAttrs = builtins.getAttr channel sources; in { + inherit (chanAttrs) version; + main = { url = "${bucketURL}/chromium-${chanAttrs.version}.tar.xz"; - inherit (chanAttrs) version sha256; + inherit (chanAttrs) sha256; }; binary = let @@ -64,7 +66,6 @@ in rec { sha256 = if stdenv.is64bit then chanAttrs.sha256bin64 else chanAttrs.sha256bin32; - inherit (chanAttrs) version; }; };