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 04af90be1283..f760b06fe24b 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 74cc692919e3..eca5767e8c01 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 7a8144314d5a..09f834a90c6f 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; }; };