nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchzip,
5 makeWrapper,
6 makeDesktopItem,
7 jdk8,
8}:
9
10stdenv.mkDerivation rec {
11 pname = "jpexs";
12 version = "24.1.0";
13
14 src = fetchzip {
15 url = "https://github.com/jindrapetrik/jpexs-decompiler/releases/download/version${version}/ffdec_${version}.zip";
16 hash = "sha256-k6cnyiRyU4B5UdsVnY9LpzTO/o7Q9/aRS0Il2jV4PQ0=";
17 stripRoot = false;
18 };
19
20 dontBuild = true;
21
22 nativeBuildInputs = [ makeWrapper ];
23
24 installPhase = ''
25 runHook preInstall
26
27 mkdir -p $out/bin
28 mkdir -p $out/share/{ffdec,icons/hicolor/512x512/apps}
29
30 cp ffdec.jar $out/share/ffdec
31 cp -r lib $out/share/ffdec
32 cp icon.png $out/share/icons/hicolor/512x512/apps/ffdec.png
33 cp -r ${desktopItem}/share/applications $out/share
34
35 makeWrapper ${jdk8}/bin/java $out/bin/ffdec \
36 --add-flags "-jar $out/share/ffdec/ffdec.jar"
37 '';
38
39 desktopItem = makeDesktopItem rec {
40 name = "ffdec";
41 exec = name;
42 icon = name;
43 desktopName = "JPEXS Free Flash Decompiler";
44 genericName = "Flash Decompiler";
45 comment = meta.description;
46 categories = [
47 "Development"
48 "Java"
49 ];
50 startupWMClass = "com-jpexs-decompiler-flash-gui-Main";
51 };
52
53 meta = {
54 description = "Flash SWF decompiler and editor";
55 mainProgram = "ffdec";
56 longDescription = ''
57 Open-source Flash SWF decompiler and editor. Extract resources,
58 convert SWF to FLA, edit ActionScript, replace images, sounds,
59 texts or fonts.
60 '';
61 homepage = "https://github.com/jindrapetrik/jpexs-decompiler";
62 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
63 license = lib.licenses.gpl3;
64 platforms = jdk8.meta.platforms;
65 maintainers = with lib.maintainers; [
66 xrtxn
67 ];
68 };
69}