shake
embedded-graphics
shake | embedded-graphics | |
---|---|---|
11 | 5 | |
755 | 858 | |
- | 1.2% | |
6.7 | 5.3 | |
4 months ago | 28 days ago | |
Haskell | Rust | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shake
-
Ninja is enough build system
Another interesting implementation is Shake: https://shakebuild.com/
It is technically a Haskell DSL, but supports Ninja files, time estimates and has tools for linting and profiling.
-
Buck2: Our open source build system
They explicitly refer to Shake build system and Build Systems a la Carte paper.
-
Straightforward Makefile Tutorial that bring together best practices once and for all.
The one paper that gave me hope about build systems was Build systems à la carte: Theory and practice, by Andrey Mokhov, Neil Mitchell, and Simon Peyton Jones. Among other things, it describes the theoretical underpinnings of the Shake build system. To be honest I believe any build system that ignores the maths described in this paper can safely be ignored. (You may however ignore the paper itself if the maths checks out. See Daniel J. Bernstein's redo, which matches Shake very closely.)
-
Worst language you ever used? Really used not just looked at the manual.
Yeah, they don't have to be terrible. I haven't used it, but people in my circles tend to really like Shake, which uses a Haskell embedded DSL to describe builds.
- Shake Build System
-
Strengths, weaknesses, opportunities, and threats facing the GNU Autotools
You could try Shake. It's a sane build system written by a former co-worker of mine. https://shakebuild.com/
-
Overview of the CMake controversy, and break down the pros and cons of the critical C++ tool.
Shake does require compilation as it's essentially just a Haskell library providing a DSL and it works just fine, I guess in gradle's case it's a thing about Java-typical overengineering and complete blindness to resource usage. Shake's underlying engine can actually go head-to-head with ninja itself when building ninja files.
-
Need recommendations for a dependency-tracking system
Did you look at shake: https://shakebuild.com/ ?
- The Shake Build System
-
Trouble Linking Dynamic Library for Package
For reasons I don't want to get into, I am building my own GHC package without cabal. The documentation is a little sketchy, but I've succeeded in build and installing it in my own user database (I'm on linux x86_64, using GHC 8.6.5). I am using shake to do all of this, and I've been pretty pleased with how it works.
embedded-graphics
-
How to build GUI for custom LCD screen connected to an Arduino Board?
Even if one used embedded-graphics, which would't require a line buffer, 8k is probably not enough RAM for the stack of a non-trivial Rust program. At least my even fairly simple RTIC programs that run fine in the 160k of a Feather M4 do not run at all in the 32k of a Feather M0.
-
New crate for embedded-graphics: U8g2-fonts (feedback desired)
I rewrote the font subsystem of U8g2 in pure Rust, introducing a large number of fonts to embedded-graphics.
-
What Graphics Library to use?
Another project I've used is embedded-graphics which is useful if your target has more limited resources: https://github.com/embedded-graphics/embedded-graphics
-
Debian Running on Rust Coreutils
We use it a bit for https://github.com/embedded-graphics/embedded-graphics and I have to say I love it. It's just the right balance between configuration variables/constants and "a folder full of bash scripts". I highly recommend giving Just a try.
What are some alternatives?
gitHUD - command-line HUD for your git repo
min-sized-rust - 🦀 How to minimize Rust binary size 📦
marvin - The paranoid bot (framework)
piet - An abstraction for 2D graphics.
leksah - Haskell IDE
samurai - ninja-compatible build tool written in C
shake-language-c - Cross-compilation framework based on the Shake Haskell library.
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
bumper - Haskell tool to automatically bump package versions transitively.
build2 - build2 build system
clone-all - clone all the github repositories of a particular user.
Rust-for-Linux - Adding support for the Rust language to the Linux kernel.