Skip to content
Snippets Groups Projects
Select Git revision
  • eabc344d9334ba4724d3f5793e933c80e9be2b51
  • main default protected
  • phhw
  • captouch-threshold
  • t
  • dos
  • test2
  • test
  • slewtest
  • simtest
  • view-think
  • vm-pending
  • media-buf
  • scope
  • passthrough
  • wave
  • vsync
  • dos-main-patch-50543
  • json-error
  • rahix/big-flow3r
  • pippin/media_framework
  • v1.3.0
  • v1.2.0
  • v1.2.0+rc1
  • v1.1.1
  • v1.1.0
  • v1.1.0+rc1
  • v1.0.0
  • v1.0.0+rc6
  • v1.0.0+rc5
  • v1.0.0+rc4
  • v1.0.0+rc3
  • v1.0.0+rc2
  • v1.0.0+rc1
34 results

application.py

Blame
  • Forked from flow3r / flow3r firmware
    Source project has a limited visibility.
    default.nix 1.42 KiB
    let
      mozillaOverlay = import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz);
      pkgs = import <nixpkgs> { overlays = [ mozillaOverlay ]; };
    in
    with pkgs;
    let
      openocd = callPackage ./openocd.nix {};
      rust = rustChannelOfTargets "nightly" null [ "thumbv7em-none-eabi" ];
      rustPlatform = makeRustPlatform {
        rustc = rust;
        cargo = rust;
      };
      epic-stubs = stdenv.mkDerivation {
        name = "epic-stubs";
        src = ./c;
        buildInputs = [ gcc python3 ];
        buildPhase = ''
          ${python3}/bin/python epicardium/api/genapi.py -H epicardium/epicardium.h -c client.c -s server.c
        '';
        installPhase = ''
          mkdir $out
          cp client.c server.c $out/
        '';
      };
      firmware = rustPlatform.buildRustPackage rec {
        name = "rust-card10";
        version = "0.0.0";
        src = ./.;
        cargoSha256 = "10qv30p3kr570glnyn37b6r8pgx48zj0mr9qf84m4wk4sjp3wxsd";
        buildInputs = [ pkgsCross.arm-embedded.stdenv.cc glibc_multi ];
        prePatch = ''
          cp ${epic-stubs}/client.c l0dable/src/
        '';
        preBuild = ''
          export LIBCLANG_PATH=${llvmPackages.libclang}/lib
          export CPATH=${glibc_multi.dev}/include
          export CARGO_HOME=$(mktemp -d cargo-home.XXX)
          cd example
        '';
        doCheck = false;
        installPhase = ''
          mkdir -p $out/lib
          cp target/thumbv7em-none-eabi/release/example $out/lib/example.elf
        '';
      };
    in {
      inherit rust rustPlatform firmware epic-stubs;
    }