nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix

148 lines
3.2 KiB
Nix
Raw Normal View History

{ 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
2018-11-07 15:36:30 +00:00
, 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}";
2019-01-08 12:12:29 +00:00
version = "32.0.0.114";
src = fetchurl {
url =
if debug then
2018-12-05 12:13:07 +00:00
"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
2019-01-08 12:12:29 +00:00
"199dd2fkjfcavfzfd2d38y21155yxvj9yl838i8y63v9i5j5nhfj"
else
2019-01-08 12:12:29 +00:00
"1b7g92ywwxrzfdj8acqx2r8k19y84ci2nhwwghjc7276q95gpzj8"
else
if arch == "x86_64" then
2019-01-08 12:12:29 +00:00
"17nzchmacyqnb184d23caz52w7sy5sr7d081iwc46wic0px78m3m"
else
2019-01-08 12:12:29 +00:00
"16slvhyqq0i7rlh2s5kpy78whkh57r129kva14wradx9yv8bqr7h";
};
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
2018-11-07 15:36:30 +00:00
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" ];
};
}