about summary refs log tree commit diff
path: root/pkgs/by-name/fl/flasm
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/fl/flasm')
-rw-r--r--pkgs/by-name/fl/flasm/package.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/by-name/fl/flasm/package.nix b/pkgs/by-name/fl/flasm/package.nix
new file mode 100644
index 000000000000..e1da977b0039
--- /dev/null
+++ b/pkgs/by-name/fl/flasm/package.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchzip, unzip, fetchpatch, bison, flex, gperf, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "flasm";
+  version = "1.64";
+
+  src = fetchzip {
+    url = "https://www.nowrap.de/download/flasm16src.zip";
+    sha256 = "03hvxm66rb6rjwbr07hc3k7ia5rim2xlhxbd9qmcai9xwmyiqafg";
+    stripRoot = false;
+  };
+
+  patches = [
+    # Pull patch pending upstream inclusion for -fno-common toolchains:
+    #  https://sourceforge.net/p/flasm/patches/2/
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://sourceforge.net/p/flasm/patches/2/attachment/0001-flasm-fix-build-on-gcc-10-fno-common.patch";
+      sha256 = "0ic7k1mmyvhpnxam89dbg8i9bfzk70zslfdxgpmkszx097bj1hv6";
+    })
+  ];
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
+  nativeBuildInputs = [ unzip bison flex gperf ];
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    install -Dm755 flasm -t $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Assembler and disassembler for Flash (SWF) bytecode";
+    mainProgram = "flasm";
+    homepage = "https://flasm.sourceforge.net/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.all;
+  };
+}