From cb2210116534b9fe1eec0ade00fa4f3acd5e02a1 Mon Sep 17 00:00:00 2001 From: Astro <astro@spaceboyz.net> Date: Mon, 24 Jun 2019 21:00:43 +0200 Subject: [PATCH] chore(nix): update to meson/ninja build system --- default.nix | 14 ++--------- nix/firmware.nix | 55 +++++++++++--------------------------------- nix/python-crc16.nix | 10 -------- shell.nix | 5 ++-- 4 files changed, 18 insertions(+), 66 deletions(-) delete mode 100644 nix/python-crc16.nix diff --git a/default.nix b/default.nix index 85b6eee1..e698c7bf 100644 --- a/default.nix +++ b/default.nix @@ -2,10 +2,9 @@ }: with pkgs; let - firmwareBuilder = callPackage ./nix/firmware.nix {}; + firmware = callPackage ./nix/firmware.nix {}; openocd = callPackage ./nix/openocd.nix { }; in -with firmwareBuilder; { openocd = stdenv.mkDerivation { name = "openocd-card10"; @@ -20,14 +19,5 @@ with firmwareBuilder; --add-flags "-f $out/share/openocd/scripts/target/max32665.cfg" ''; }; - - bootloader = firmware "bootloader"; - ble = loadable "ble"; - bmatest = loadable "bmatest"; - bmetest = loadable "bmetest"; - ecgtest = loadable "ecgtest"; - Hello_World = loadable "Hello_World"; - Hello_World_FreeRTOS = loadable "Hello_World_FreeRTOS"; - imutest = loadable "imutest"; - ips = loadable "ips"; + inherit firmware; } diff --git a/nix/firmware.nix b/nix/firmware.nix index 9217f297..0e181c99 100644 --- a/nix/firmware.nix +++ b/nix/firmware.nix @@ -1,43 +1,16 @@ -{ pkgsCross, python3, callPackage }: +{ pkgsCross, python3, ninja, meson, gcc }: -let - crc16 = callPackage ./python-crc16.nix {}; -in rec { - firmware = subdir: - pkgsCross.arm-embedded.stdenv.mkDerivation { - name = "${subdir}"; - src = ./..; - buildInputs = [ ]; - hardeningDisable= [ "all" ]; - buildPhase = '' - cd ${subdir} - make clean - make -j ''$NIX_BUILD_CORES - make -j ''$NIX_BUILD_CORES build/max32665.elf - ''; - installPhase = '' - mkdir -p $out/lib - cp build/max32665.elf $out/lib/card10.elf - ''; - }; - - loadable = subdir: - pkgsCross.arm-embedded.stdenv.mkDerivation { - name = "loadable-${subdir}"; - src = ./..; - buildInputs = [ crc16 ]; - hardeningDisable= [ "all" ]; - buildPhase = '' - cd ${subdir} - make clean - make -j ''$NIX_BUILD_CORES APP=1 - make -j ''$NIX_BUILD_CORES build/max32665.bin - ${python3}/bin/python ../bootloader/crc_patch.py build/max32665.bin - ''; - installPhase = '' - mkdir -p $out/lib - cp build/max32665.elf $out/lib/card10.elf - cp build/max32665.bin $out/lib/card10.bin - ''; - }; +pkgsCross.armhf-embedded.stdenv.mkDerivation { + name = "card10"; + src = ./..; + postPatch = '' + substituteInPlace card10-cross.ini \ + --replace arm-none-eabi arm-none-eabihf + ''; + nativeBuildInputs = [ ninja meson python3 gcc ]; + mesonFlags = [ + "--cross-file card10-cross.ini" + "--optimization s" + ]; + ninjaFlags = [ "-v" ]; } diff --git a/nix/python-crc16.nix b/nix/python-crc16.nix deleted file mode 100644 index 1c1a0170..00000000 --- a/nix/python-crc16.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ python3Packages }: - -python3Packages.buildPythonPackage rec { - pname = "crc16"; - version = "0.1.1"; - src = python3Packages.fetchPypi { - inherit pname version; - sha256 = "15nkx0pa4lskwin84flpk8fsw3jqg6wic6v3s83syjqg76h6my61"; - }; -} diff --git a/shell.nix b/shell.nix index ee89290b..72fb9d82 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,5 @@ with import <nixpkgs> {}; -pkgsCross.arm-embedded.stdenv.mkDerivation { +pkgsCross.armhf-embedded.stdenv.mkDerivation { name = "env"; - buildInputs = [ bashInteractive ]; - hardeningDisable= [ "all" ]; + buildInputs = [ ninja meson python3 gcc bashInteractive ]; } -- GitLab