shake
buildroot
Our great sponsors
shake | buildroot | |
---|---|---|
11 | 51 | |
755 | 2,469 | |
- | 2.7% | |
6.7 | 10.0 | |
3 months ago | 8 days ago | |
Haskell | Makefile | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
buildroot
- Damn Small Linux 2024
-
I Built Linux from Scratch
I did it few times. It's so much easier nowadays with https://buildroot.org/
-
GitHub - avxmw/creality_k1_fw: Tracks firmware for Creality K1 series 3D printers
If you dig through the rootfs of the K1 it becomes clear that Creality is using buildroot so we should be able to do that ourselves - at least some of us.
- Fazer uma distribuição Linux
-
Curious about Roku OS
An embedded system like Roku doesn't need to "run everything", it just needs to run their "platform", which is probably quite small. It's pretty trivial to assemble your own OS from "off-the-shelf" components. You can use something like buildroot to spin up a new OS in half a day, using only the components you want. You can also use "smaller" components that have far fewer features, meaning less bugs and less updates.
-
Linux-factory: A framework used to create custom Linux Debian operating systems
https://github.com/buildroot/buildroot
-
Debloating Windows 10 with one command and no internet scripts
> I do this for every Windows installation that is used for similar purposes, like embedded machines that has to run a single application, virtual machines, etc.
Have you tried running Linux for these use cases? This sort of thing is an area Linux excels, in my experience.
When you run Windows, you're in for the whole kit and caboodle. Most of the components are proprietary, closed-source black boxes. You can only poke and prod and test and hope things don't break in unexpected ways.
Conversely, Linux can be easy stripped down to a bare bones kernel and a single statically-linked binary. I can run a useful application on top of Linux with the whole system weighing in smaller than bootmgfw.efi.
Something more complex, but still custom, is easily crafted with Buildroot.
https://buildroot.org/
-
Automatically generate commit messages using ChatGPT
Have a look at the commit history of Linux or buildroot for nice readable commit histories.
-
Does it make sense to try to install / maintain a gentoo system in a vm for learning more about Linux?
Gentoo could teach you more about what is involved in dependency handling and actual ‘construction’ of a Linux system. But Linux From Scratch is a much better teaching tool for learning this, and even things like Buildroot are arguably better than Gentoo for this because they generally force you to care about a lot of the stuff that Gentoo hides away to make the system nicer to use.
- Die Fahrplananzeiger der RNV laufen auf einem Raspberry Pi
What are some alternatives?
gitHUD - command-line HUD for your git repo
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
marvin - The paranoid bot (framework)
riscv-gnu-toolchain - GNU toolchain for RISC-V, including GCC
leksah - Haskell IDE
meta-balena - A collection of Yocto layers used to build balenaOS images
shake-language-c - Cross-compilation framework based on the Shake Haskell library.
nerves - Platform infrastructure for embedded Erlang/OTP, Elixir, and LFE projects
bumper - Haskell tool to automatically bump package versions transitively.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
clone-all - clone all the github repositories of a particular user.
linux-xlnx - The official Linux kernel from Xilinx