3
0
Fork 0
forked from mirrors/nixpkgs
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
2019-05-22 12:03:39 +01:00
, 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 {
pname = "flashplayer";
2019-08-19 00:04:25 +01:00
version = "32.0.0.238";
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-08-19 00:04:25 +01:00
"1f5i64nzkvxy20vi7kldaamwp6pi2zgmjiw061cgqrwf7hj45wkg"
else
2019-08-19 00:04:25 +01:00
"09jvxqp83hpk89ak8flq14s3s3nhy3ary91jc6k47v325axh1cl9"
else
if arch == "x86_64" then
2019-08-19 00:04:25 +01:00
"05gvssjdz43pvgivdngrf8qr5b30p45hr2sr97cyl6b87581qw9s"
else
2019-08-19 00:04:25 +01:00
"06l7zhgh5rfxxw46b500zdgcqsk2h7kivng5b0b74s3vy7f0g270";
};
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
2019-05-22 12:03:39 +01:00
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" ];
};
}