1{ lib, stdenv, fetchurl, makeWrapper, jre }:
2
3let
4 playerglobal_ver = "27.0";
5 playerglobal = fetchurl {
6 url = "https://fpdownload.macromedia.com/get/flashplayer/updaters/27/playerglobal27_0.swc";
7 sha256 = "0qw2bgls8qsmp80j8vpd4c7s0c8anlrk0ac8z42w89bajcdbwk2f";
8 };
9in stdenv.mkDerivation rec {
10 pname = "apache-flex-sdk";
11 version = "4.16.1";
12
13 src = fetchurl {
14 url = "mirror://apache/flex/${version}/binaries/${pname}-${version}-bin.tar.gz";
15 sha256 = "13iq16dqvgcpb0p35x66hzxsq5pkbr2lbwr766nnqiryinnagz8p";
16 };
17
18 nativeBuildInputs = [ makeWrapper ];
19
20 buildInputs = [ jre ];
21
22 dontBuild = true;
23
24 postPatch = ''
25 shopt -s extglob
26 for i in bin/!(aasdoc|acompc|amxmlc); do
27 substituteInPlace $i --replace "java " "${jre}/bin/java "
28 done
29 '';
30
31 installPhase = ''
32 t=$out/opt/apache-flex-sdk
33 mkdir -p $t $out/bin
34 mv * $t
35 rm $t/bin/*.bat
36 ln -s $t/bin/* $out/bin/
37
38 for i in $out/bin/!(aasdoc|acompc|amxmlc); do
39 wrapProgram $i \
40 --set FLEX_HOME $t \
41 --set PLAYERGLOBAL_HOME $t/frameworks/libs/player/
42 done
43
44 mkdir -p $t/frameworks/libs/player/${playerglobal_ver}/
45 cp ${playerglobal} $t/frameworks/libs/player/${playerglobal_ver}/playerglobal.swc
46 '';
47
48 dontFixup = true;
49
50 meta = with lib; {
51 description = "Flex SDK for Adobe Flash / ActionScript";
52 homepage = "https://flex.apache.org/";
53 license = with licenses; [ asl20 ];
54 maintainers = with maintainers; [ dywedir ];
55 };
56}