diff --git a/nix/firmware.nix b/nix/firmware.nix index 0e181c99ccdc31dc8517bd3c2a054c32c3ec84ab..6cc494600a401c1fa6448534aff27e690c51ccc3 100644 --- a/nix/firmware.nix +++ b/nix/firmware.nix @@ -1,16 +1,25 @@ -{ pkgsCross, python3, ninja, meson, gcc }: +{ fetchFromGitHub, pkgsCross, python3, ninja, meson, gcc }: -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" ]; -} +let + micropython = fetchFromGitHub { + owner = "micropython"; + repo = "micropython"; + rev = "62f004ba424920a01e60c7a9a064b8ec9cd69c12"; + sha256 = "1v2aisrsy9g22jjlgq6yf5k111bvr3j9lr38jb77cgmhnp8sxfzi"; + }; +in + pkgsCross.armhf-embedded.stdenv.mkDerivation { + name = "card10"; + src = ./..; + postPatch = '' + substituteInPlace card10-cross.ini \ + --replace arm-none-eabi arm-none-eabihf + ln -s ${micropython} lib/micropython/micropython + ''; + nativeBuildInputs = [ ninja meson python3 gcc ]; + mesonFlags = [ + "--cross-file card10-cross.ini" + "--optimization s" + ]; + ninjaFlags = [ "-v" ]; + }