51 lines
1.5 KiB
Nix
51 lines
1.5 KiB
Nix
{ lib, stdenv, fetchFromGitHub, bash, gcc-arm-embedded }:
|
||
|
||
stdenv.mkDerivation rec {
|
||
pname = "agbcc";
|
||
version = "unstable-2021-12-31";
|
||
|
||
src = fetchFromGitHub {
|
||
owner = "pret";
|
||
repo = pname;
|
||
rev = "bd1b2f511edfb30610b8d88f66f80323b3cc0aee";
|
||
sha256 = "sha256-+jHyRkupCge9D0CTck1w2V4SBltCVasL/WiXQPzifqw=";
|
||
};
|
||
|
||
postPatch = ''
|
||
substituteInPlace libc/Makefile \
|
||
--replace "/bin/bash" "${bash}/bin/bash"
|
||
'';
|
||
|
||
nativeBuildInputs = [ gcc-arm-embedded ];
|
||
|
||
# toplev.c: In function 'fatal_insn':
|
||
# toplev.c:1048:5: error: format not a string literal and no format arguments [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-security-Werror=format-security8;;]
|
||
# 1048 | error(message);
|
||
# | ^~~~~
|
||
hardeningDisable = [ "format" ];
|
||
|
||
buildPhase = ''
|
||
runHook preBuild
|
||
./build.sh
|
||
runHook postBuild
|
||
'';
|
||
|
||
installPhase = ''
|
||
runHook preInstall
|
||
./install.sh $out
|
||
runHook postInstall
|
||
'';
|
||
|
||
meta = with lib; {
|
||
description = "C Compiler toolchain for the Game Boy Advance";
|
||
homepage = "https://github.com/pret/agbcc";
|
||
# The repository includes files from different sources each with different
|
||
# licenses. I added the catch-alls ‘free’ and ‘unfree’ to account for them,
|
||
# so please research for yourself if you are allowed to use the code for
|
||
# your purpose.
|
||
license = with licenses; [ bsd2 free gpl2Plus lgpl2Plus unfree ];
|
||
maintainers = with maintainers; [ sbruder ];
|
||
platforms = platforms.unix;
|
||
};
|
||
}
|