With this branch, ./Build.hs --target=aarch64-none-linux-gnu actually works.
The main thing that needs fixing before we can merge this is to split up the Elm generation in to a separate component, not directly depended on by the main executable. We'll need a monpad-types core library, used by both. This is a better design anyway, and will allow us to properly integrate the Elm generation in to the build script rather than running it manually when necessary as we currently do. When doing this refactor, we should bear in mind the long-term goal of porting the frontend from Elm to Haskell (blocked on https://github.com/dmjio/miso/issues/724).
There are a few other ugly things here for which we should work out better fixes, such as avoiding embedding the static files, disabling serving of other assets (serveDirectoryWebApp), and using slightly different evdev types from Dhall.
With this branch,
./Build.hs --target=aarch64-none-linux-gnu
actually works.The main thing that needs fixing before we can merge this is to split up the Elm generation in to a separate component, not directly depended on by the main executable. We'll need a
monpad-types
core library, used by both. This is a better design anyway, and will allow us to properly integrate the Elm generation in to the build script rather than running it manually when necessary as we currently do. When doing this refactor, we should bear in mind the long-term goal of porting the frontend from Elm to Haskell (blocked on https://github.com/dmjio/miso/issues/724).There are a few other ugly things here for which we should work out better fixes, such as avoiding embedding the static files, disabling serving of other assets (
serveDirectoryWebApp
), and using slightly different evdev types from Dhall.