This repository has been archived on 2024-01-28. You can view files and clone it, but cannot push or open issues/pull-requests.
pokegb-nix/agbcc/default.nix

51 lines
1.5 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{ 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;
};
}