diff options
author | Eric Litak <elitak@gmail.com> | 2018-01-01 15:33:07 -0800 |
---|---|---|
committer | Eric Litak <elitak@gmail.com> | 2018-01-04 14:04:40 -0800 |
commit | 144b7d2acc5606acd7006565d1f3aad9f9d399e0 (patch) | |
tree | 07598fae3b98ab0f86baf6eae432ff0044c11f5e | |
parent | 0e7358002679ad7f35d2bd99977b9f0e403d4de2 (diff) | |
download | nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar.gz nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar.bz2 nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar.lz nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar.xz nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.tar.zst nixlib-144b7d2acc5606acd7006565d1f3aad9f9d399e0.zip |
betaflight: init at 3.2.3
-rw-r--r-- | pkgs/development/stm32/betaflight/default.nix | 65 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 67 insertions, 0 deletions
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 { }; |