nixpkgs-suyu/pkgs/development/compilers/flasm/default.nix
Sergei Trofimovich 687decaa2d flasm: pull patch pending upstream inclusion for -fno-common toolchains
Without the change build fails on upstream gcc-10 as:

    ld: unflasm.o:/build/source/unflasm.c:32: multiple definition of
      `swfVersion'; flasm.o:/build/source/flasm.c:36: first defined here
2022-05-15 10:18:31 +01:00

40 lines
1.1 KiB
Nix

{ 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";
homepage = "http://flasm.sourceforge.net/";
license = licenses.bsd2;
maintainers = with maintainers; [ siraben ];
platforms = platforms.all;
};
}