about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix147
1 files changed, 147 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
new file mode 100644
index 000000000000..c48c36ad7a06
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -0,0 +1,147 @@
+{ stdenv
+, lib
+, fetchurl
+, alsaLib
+, atk
+, bzip2
+, cairo
+, curl
+, expat
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, glibc
+, graphite2
+, gtk2
+, harfbuzz
+, libICE
+, libSM
+, libX11
+, libXau
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXdmcp
+, libXext
+, libXfixes
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXt
+, libXxf86vm
+, libdrm
+, libffi
+, libglvnd
+, libpng
+, libvdpau
+, libxcb
+, libxshmfence
+, nspr
+, nss
+, pango
+, pcre
+, pixman
+, zlib
+, unzip
+, debug ? false
+
+/* you have to add ~/mm.cfg :
+
+    TraceOutputFileEnable=1
+    ErrorReportingEnable=1
+    MaxWarnings=1
+
+  in order to read the flash trace at ~/.macromedia/Flash_Player/Logs/flashlog.txt
+  Then FlashBug (a FireFox plugin) shows the log as well
+*/
+
+}:
+
+let
+  arch =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      "x86_64"
+    else if stdenv.hostPlatform.system == "i686-linux"   then
+      "i386"
+    else throw "Flash Player is not supported on this platform";
+  lib_suffix =
+      if stdenv.hostPlatform.system == "x86_64-linux" then
+      "64"
+    else
+      "";
+in
+stdenv.mkDerivation rec {
+  name = "flashplayer-${version}";
+  version = "32.0.0.142";
+
+  src = fetchurl {
+    url =
+      if debug then
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_npapi_linux_debug.${arch}.tar.gz"
+      else
+        "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
+    sha256 =
+      if debug then
+        if arch == "x86_64" then
+          "1g3c0hzpf6lwfvlh8h3fl1vwfxc909nkpvrymwlc3vi3zpqwv4r7"
+        else
+          "14pyhynmjb88n5r9ds7v59vsrlzxfkr8zqnzgf6bj0h0x9grzhdv"
+      else
+        if arch == "x86_64" then
+          "102ixxh2sq7bmasnifm9arvlqqvmmm4bazzdppib3pz2yh4yy7m2"
+        else
+          "1hg03fb4xc7h7lbx57wn1xvkhq096aijaxkb4b60wna04p62bdim";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  preferLocalBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/lib/mozilla/plugins
+    cp -pv libflashplayer.so $out/lib/mozilla/plugins
+
+    mkdir -p $out/bin
+    cp -pv usr/bin/flash-player-properties $out/bin
+
+    mkdir -p $out/lib${lib_suffix}/kde4
+    cp -pv usr/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so $out/lib${lib_suffix}/kde4
+
+    patchelf --set-rpath "$rpath" \
+      $out/lib/mozilla/plugins/libflashplayer.so \
+      $out/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so
+
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath "$rpath" \
+      $out/bin/flash-player-properties
+  '';
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  rpath = lib.makeLibraryPath
+    [ stdenv.cc.cc
+      alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib
+      glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite
+      libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama
+      libXrandr libXrender libXt libXxf86vm libdrm libffi libglvnd libpng
+      libvdpau libxcb libxshmfence nspr nss pango pcre pixman zlib
+    ];
+
+  meta = {
+    description = "Adobe Flash Player browser plugin";
+    homepage = http://www.adobe.com/products/flashplayer/;
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}