about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix36
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 37 insertions, 3 deletions
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 9521e1debd7c..f29f569cd3a0 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, lib
 , fetchurl
 , zlib
 , alsaLib
@@ -54,6 +55,7 @@ let
       else             "_linux.i386"
     else throw "Flash Player is not supported on this platform";
 
+  is-i686 = (stdenv.system == "i686-linux");
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
@@ -67,19 +69,47 @@ stdenv.mkDerivation rec {
   buildInputs = [ unzip ];
 
   postUnpack = ''
-    cd */*${arch}
-    tar -xvzf *${suffix}.tar.gz
+    pushd $sourceRoot
+    tar -xvzf *${arch}/*${suffix}.tar.gz
+
+    ${ lib.optionalString is-i686 ''
+       tar -xvzf */*_sa.*.tar.gz
+       tar -xvzf */*_sa_debug.*.tar.gz
+    ''}
+
+    popd
   '';
 
-  sourceRoot = ".";
+  sourceRoot = "fp_${version}_archive";
 
   dontStrip = true;
   dontPatchELF = true;
 
+  outputs = [ "out" ] ++ lib.optionals is-i686 ["sa" "saDbg" ];
+
   installPhase = ''
     mkdir -p $out/lib/mozilla/plugins
     cp -pv libflashplayer.so $out/lib/mozilla/plugins
     patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
+
+    ${ lib.optionalString is-i686 ''
+       mkdir -p $sa/bin
+       cp flashplayer $sa/bin/
+
+       patchelf \
+         --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+         --set-rpath "$rpath" \
+         $sa/bin/flashplayer
+
+
+       mkdir -p $saDbg/bin
+       cp flashplayerdebugger $saDbg/bin/
+
+       patchelf \
+         --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+         --set-rpath "$rpath" \
+         $saDbg/bin/flashplayerdebugger
+    ''}
   '';
 
   passthru = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a9d1569b24e8..5218e54c000d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11950,6 +11950,10 @@ let
     debug = config.flashplayer.debug or false;
   };
 
+  flashplayer-standalone = pkgsi686Linux.flashplayer.sa;
+
+  flashplayer-standalone-debugger = pkgsi686Linux.flashplayer.saDbg;
+
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
   fme = callPackage ../applications/misc/fme {