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