diff options
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.nix | 147 |
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" ]; + }; +} |