Skip to content
Snippets Groups Projects
Commit cb221011 authored by Astro's avatar Astro :gear:
Browse files

chore(nix): update to meson/ninja build system

parent bb000950
Branches
No related tags found
No related merge requests found
Pipeline #674 failed
......@@ -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;
}
{ 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" ];
}
{ python3Packages }:
python3Packages.buildPythonPackage rec {
pname = "crc16";
version = "0.1.1";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "15nkx0pa4lskwin84flpk8fsw3jqg6wic6v3s83syjqg76h6my61";
};
}
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 ];
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment