From 144b7d2acc5606acd7006565d1f3aad9f9d399e0 Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Mon, 1 Jan 2018 15:33:07 -0800 Subject: betaflight: init at 3.2.3 --- pkgs/development/stm32/betaflight/default.nix | 65 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 67 insertions(+) create mode 100644 pkgs/development/stm32/betaflight/default.nix diff --git a/pkgs/development/stm32/betaflight/default.nix b/pkgs/development/stm32/betaflight/default.nix new file mode 100644 index 000000000000..8d4d0d7f4a2b --- /dev/null +++ b/pkgs/development/stm32/betaflight/default.nix @@ -0,0 +1,65 @@ +{ stdenv, fetchFromGitHub +, gcc-arm-embedded, python2 +, skipTargets ? [ + # These targets do not build for various unexplored reasons + # TODO ... fix them + "AFROMINI" + "ALIENWHOOP" + "BEEBRAIN" + "CJMCU" + "FRSKYF3" +]}: + +let + + version = "3.2.3"; + +in stdenv.mkDerivation rec { + + name = "betaflight-${version}"; + + src = fetchFromGitHub { + owner = "betaflight"; + repo = "betaflight"; + rev = "v${version}"; + sha256 = "0vbjyxfjxgpaiiwvj5bscrlfikzp3wnxpmc4sxcz5yw5mwb9g428"; + }; + + buildInputs = [ + gcc-arm-embedded + python2 + ]; + + postPatch = '' + sed -ri "s/REVISION.*=.*git log.*/REVISION = ${builtins.substring 0 9 src.rev}/" Makefile # Let's not require git in shell + sed -ri "s/binary hex/hex/" Makefile # No need for anything besides .hex + ''; + + enableParallelBuilding = true; + + preBuild = '' + buildFlagsArray=( + "SKIP_TARGETS=${toString skipTargets}" + "GCC_REQUIRED_VERSION=$(arm-none-eabi-gcc -dumpversion)" + all + ) + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp obj/*.hex $out + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft"; + homepage = https://github.com/betaflight/betaflight; + license = licenses.gpl3; + maintainers = with maintainers; [ elitak ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c77658244dfc..c370aa0befe8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6998,6 +6998,8 @@ with pkgs; avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; + betaflight = callPackage ../development/stm32/betaflight { }; + sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {}; ecj = callPackage ../development/eclipse/ecj { }; -- cgit 1.4.1