thehardwarestore.ai

where AI agents shop for the right tools

── 99517 repos indexed ── | filtered by tag: build-system
source-academy/sicp β˜… 1018 143 APPLICATION

This repository is the source and build system for the multi-language edition of the classic computer science textbook *Structure and Interpretation of Computer Programs* (SICP). It contains the full text, exercises, and code snippets in XML, organized by chapter and section, for the original Scheme version as well as modern adaptations in JavaScript and Python. The build toolchain, implemented in TypeScript and JavaScript, parses the XML into multiple output formats: PDF (via LaTeX), a static HTML web edition, a JSON edition for the interactive Source Academy frontend, Markdown, and standalone program files. The system handles cross-references, code snippet extraction with dependency resolution, figure inclusion, index generation, and search index construction. The repository also includes CI/CD pipelines for testing generated programs against actual language runtimes (Node, CPython, MIT Scheme) and deploying the web edition to GitHub Pages. Additionally, AI-generated chatbot knowledge base modules for the Python edition are checked in. The codebase is well-structured with a clean edition abstraction and a modular processing pipeline, though it is tightly coupled to the SICP XML schema and the Source Academy ecosystem.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 1 reusable components found
openhpc/ohpc β˜… 1002 208 APPLICATION

OpenHPC is a community-driven software distribution and infrastructure framework for High Performance Computing (HPC) clusters. It provides a collection of RPM packages, installation recipes, and testing infrastructure to deploy and manage HPC environments on Linux distributions such as RHEL, SUSE, and openEuler. The repository serves as the build system and validation suite for the distribution, ensuring compatibility across multiple MPI implementations, compilers, and scientific libraries. It does not function as a single application but rather as a meta-package and deployment framework for HPC systems.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
balena-os/meta-balena β˜… 989 132 APPLICATION

This repository is a Yocto/OpenEmbedded meta-layer that builds **balenaOS**, a container-optimized embedded Linux distribution for IoT devices. It is not a runnable application but a build system consuming board support packages (BSPs), kernel patches, systemd services, and configuration recipes to produce a complete OS image with balenaEngine, balena-supervisor, OTA updates (hostapp-update), rollback, secure boot (UEFI, TPM2), disk encryption, and extensive networking (NetworkManager, ModemManager, OpenVPN, redsocks). The architecture separates common recipes (`meta-balena-common`) from Yocto-version-specific overrides (kirkstone, scarthgap, dunfell, etc.), enabling support for a wide hardware matrix (Raspberry Pi, Jetson, Intel NUC, BeagleBone, etc.). Despite being a build system, the code exhibits many software engineering best practices: modular shell libraries (os-helpers), bbclass abstractions for signing, kernel config injection, and container extension runtime. Maintenance is active with frequent version bumps, CVE backports, and CI workflows for 30+ board targets. The primary data flows are from source recipes β†’ bitbake β†’ OS image artifacts, with OTA updates using A/B partitions and health-check rollback. External dependencies include Yocto/Poky, various open-source components (busybox, systemd, NetworkManager, wpa_supplicant, grub, efitools, etc.), and Rust/Go cross-compilation toolchains.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
bootlin/yocto-kiss β˜… 208 40 APPLICATION

This repository is a reference Yocto/OpenEmbedded layer collection demonstrating the KISS (Keep It Simple, Stupid) principle for embedded Linux build systems. It provides a minimal but realistic setup for building bootable images for four fictitious products based on real development boards: BeagleBone Black (dogbonedark), STM32MP157A-DK1 (stompduck), NXP FRDM i.MX93 (freiheit93), and AMD ZynqMP Kria KD240 (krazymp). The architecture consists of a base distro layer (meta-kiss) with common recipes and machine-specific layers (meta-kiss-ti, meta-kiss-st, meta-kiss-nxp, meta-kiss-amd) that add board-specific configurations, bootloaders, kernel defconfigs, and firmware handling. The build process is orchestrated via kas configuration files or bitbake-setup, automatically fetching all required upstream layers (bitbake, openembedded-core, meta-arm, meta-openembedded, meta-xilinx). The repository serves as a teaching tool and starting point for companies wanting to create clean, maintainable Yocto setups without unnecessary complexity. It is not a standalone application but a build system configuration; its value lies in the patterns and practices it demonstrates rather than reusable code components.

RATING: 8.0/10 MAINT: active DRIFT: low
bazelbuild/rules_android β˜… 203 96 APPLICATION

This repository provides the Bazel build rules and tooling for building Android applications (APKs, AABs, libraries) using Bazel. It includes Starlark rules for android_binary, android_library, android_local_test, etc., along with a suite of Go and Java tools for resource processing, dexing, R8 optimization, manifest merging, and mobile-install deployment. The codebase is production-grade, used internally at Google, and supports both WORKSPACE and Bzlmod. It features a well-architected processing pipeline pattern, a reusable flag system, and extensive test infrastructure. The repository is actively maintained with regular commits and CI, though it carries some technical debt from internal migration and legacy feature flags.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
riscv-collab/riscv-gnu-toolchain β˜… 4599 1411 APPLICATION

This repository is the RISC-V GNU Compiler Toolchain build system. It provides the infrastructure to build cross-compilation toolchains targeting RISC-V architectures (RV32/RV64) with various C libraries (newlib, picolibc, glibc, musl, uClibc). The codebase consists of autotools-based configure scripts, Makefile templates, vendored Linux kernel UAPI headers for RISC-V, CI workflows, and test infrastructure including DejaGnu board configurations and regression test allowlists. It is not an end-user application but a build orchestration project that compiles GCC, binutils, and associated libraries from source. The architecture is a classic GNU autotools build system with submodule dependencies. Key entry points are the top-level `configure` script and `Makefile.in`, which drive the build of all toolchain components. The repository also includes scripts for running tests on QEMU and Spike simulators, and CI pipelines for continuous integration and nightly releases.

RATING: 7.7/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
openembedded/meta-openembedded β˜… 501 855 APPLICATION

meta-openembedded is the OpenEmbedded/Yocto Project's collection of supplementary layers (meta-oe, meta-python, meta-networking, meta-multimedia, meta-gnome, meta-xfce, meta-filesystems, meta-initramfs, etc.), providing BitBake recipes and patches to build hundreds of open-source packages for embedded Linux. It is not a runtime application; it is build-system metadata (.bb, .bbappend, .inc, .bbclass) plus configuration files, systemd units, init scripts, and cross-compilation patches. The entry points are layer.conf files that register each layer into a Yocto build, and image/packagegroup recipes that aggregate packages into test images. At runtime, the 'product' this repository produces is embedded Linux distributions and images: filesystem tools, kernel utilities, networking daemons, multimedia codecs, Python/Perl modules, XFCE/GNOME desktop environments, and initramfs components. Its primary data flow is source fetch via SRC_URI from upstream tarballs/git, patch application, cross-compilation through OE classes, and packing/installation onto target images. The repository contains very little application logic itself; most engineering effort is in recipe metadata, build-system classes, and patches that adapt upstream software to musl/glibc, newer compilers, and embedded constraints. Maintenance is active: recent commits, ongoing updates for GCC/CMake/Python evolution, and steady recipe additions. However, it carries substantial technical debt: many patches are marked Upstream-Status: Pending or Inappropriate, several upstream projects are inactive, and the sheer recipe count creates constant drift risk. Although a few data-like assets exist (DVB scan tables, static passwd/group files, fontconfig data), they are configuration payloads for recipes, not research artifacts; the dominant character is application/build infrastructure.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
guysoft/FullPageOS β˜… 4464 286 APPLICATION

This repository contains a build system for FullPageOS, a Raspberry Pi distribution that boots directly into a full-screen Chromium browser kiosk displaying a configurable webpage. The build process uses CustomPiOS to modify a Raspbian base image, installing Chromium, lighttpd (with FullPageDashboard), x11vnc for VNC access, and a set of scripts that manage the browser startup, URL resolution (with serial number substitution), page refresh, and crash recovery. The resulting OS image is designed for digital signage or single-purpose web displays. The repo includes a comprehensive testing framework with end-to-end tests that run in QEMU, verifying Chromium launch, lighttpd service, emoji rendering, and translation disabling via screenshot pixel analysis. The CI pipeline builds images for armhf and arm64 and runs the e2e tests automatically. While the core build scripts are functional and well-structured, they are tightly coupled to the CustomPiOS ecosystem and not independently reusable. The testing components, particularly the screenshot analysis and headless Chromium rendering tests, exhibit higher craftsmanship and could be adapted for other kiosk image validation efforts.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
espressif/esp32-arduino-lib-builder β˜… 205 222 APPLICATION

This repository is a build system for producing precompiled static libraries from ESP-IDF components, intended for use with the Arduino core for ESP32 microcontrollers. It orchestrates the entire build pipeline: cloning and updating ESP-IDF and Arduino core repositories, configuring IDF with target-specific settings (flash modes, memory variants, debug levels), compiling libraries for multiple ESP32 chip variants (esp32, esp32s2, esp32s3, esp32c3, etc.), and packaging the resulting artifacts into archives and Arduino package index JSON files. The system is driven by shell scripts (build.sh, tools/copy-libs.sh, etc.) with a CMake-based project structure, and includes a Textual-based TUI (tools/config_editor/) for interactive configuration and compilation. CI/CD workflows (GitHub Actions) automate periodic builds and deployment to the esp32-arduino-libs release repository. The codebase is well-organized, with clear separation of build logic, configuration files (configs/), and tooling (tools/). It demonstrates strong DevOps practices for managing multi-target embedded library builds.

RATING: 7.4/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
ProcursusTeam/Procursus β˜… 1009 143 APPLICATION

Procursus is a specialized build system and package repository infrastructure designed to compile open-source software into Debian packages (.deb) for Apple platforms (iOS, macOS, tvOS, watchOS). It functions as a cross-compilation environment, orchestrating the fetching, patching, compilation, signing, and packaging of hundreds of packages using a monolithic Makefile-based architecture. The system is primarily used by the jailbreak and iOS development communities to provide a Debian-like package management experience on non-Linux Apple operating systems. The architecture relies heavily on custom build macros, platform-specific patches, and Apple SDK integration. Key entry points include the central Makefile for orchestration, build_tools/ for helper scripts, and makefiles/*.mk for individual package definitions. The system manages complex dependency chains and security entitlements required for iOS/macOS compatibility. While it solves a difficult cross-platform packaging problem, the codebase is tightly coupled to Apple's internal APIs and SDK versions, requiring constant maintenance to keep pace with OS updates.

RATING: 7.3/10 MAINT: active DRIFT: high
β–Έ 4 reusable components found
nelhage/rules_boost β˜… 299 234 APPLICATION

rules_boost is a Bazel repository providing build rules for the Boost C++ libraries. It allows Bazel users to depend on Boost libraries using labels like @boost//:algorithm. The repository fetches Boost source code and provides platform-specific build configurations for hundreds of Boost components, handling separate compilation requirements for libraries like ASIO and Beast. While the README indicates it's legacy compared to Bazel Central Registry, it remains maintained for compatibility. The core reusable component is the boost_library macro in boost/boost.bzl, which encapsulates patterns for building C++ libraries with Bazel.

RATING: 7.3/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
itsManjeet/avyos β˜… 196 10 APPLICATION

This repository is the build system for AvyOS, a Linux distribution that compiles all packages from source using a custom Go-based tool called 'ignite'. The system defines hundreds of YAML recipes under `elements/` for building the kernel, system libraries, desktop environments (KDE, GNOME, Xfce, Sway, etc.), development toolchains, and applications. The ignite tool handles dependency resolution, source fetching, containerized builds (via bubblewrap), and image generation (ISO, disk images, OSTree commits). The architecture is a declarative recipe system with reusable includes, patch management, and a web dashboard for monitoring builds. Key entry points are the `ignite` CLI and the YAML recipe files. External dependencies include upstream source tarballs, patches, and a custom build environment. The repository also includes configuration for secure boot, A/B updates, and live ISO booting. While the codebase is well-structured and demonstrates significant engineering effort, it is a personal project with limited documentation, many TODO comments, and potential drift due to custom kernel versioning and future-dated Go version requirements.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
sonic-net/sonic-buildimage β˜… 1020 1945 APPLICATION

This repository is the build system and platform integration layer for SONiC, a Linux-based network operating system for switches. It produces installer images for dozens of vendor hardware platforms by orchestrating Debian-based Docker containers, kernel modules, and system services. The codebase is highly fragmented across vendor-specific directories with massive duplication of platform abstraction code (e.g., PSU, fan, SFP plugins) and a shared PDDF (Platform Device Driver Framework) that reduces some of this duplication. It contains network control-plane daemons (BGP, DHCP, MACsec, authentication), system health monitoring, configuration generation via sonic-cfggen, and build tooling. While the repository is actively maintained, the code quality is uneven: many files are near-identical copies across platforms, several implementations are stubs or incomplete, and there is a mix of Python 2/3 and hardcoded sysfs paths. The true value lies in the PDDF abstraction layer and the reusable daemon patterns (e.g., GracefulExitter).

RATING: 7.0/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
micro-ROS/micro_ros_setup β˜… 509 184 APPLICATION

micro_ros_setup is a ROS 2 package providing shell scripts and configuration to automate the creation, configuration, build, and flashing of micro-ROS firmware for embedded platforms. It orchestrates the cross-compilation of the micro-ROS client library (rclc, rmw_microxrcedds, etc.) against multiple RTOS targets (FreeRTOS, Zephyr, Android, host Linux) using colcon and platform-specific toolchains. The package acts as a build system integration layer: it creates a development workspace cloned from ROS 2 and micro-ROS repositories, applies platform-specific colcon metadata, handles transport selection (UART, UDP, USB), and builds/flashes the firmware binaries. It is not a running application but a set of tools that must be invoked from a ROS 2 workspace after building the package itself.

RATING: 6.6/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
sunhaiyong1978/CLFS-for-LoongArch β˜… 200 61 APPLICATION

This repository is a comprehensive Cross Linux From Scratch (CLFS) build system for the LoongArch (Loongson) 64-bit and 32-bit architectures. It contains a complete set of bash scripts, package recipes, patches, and documentation to cross-compile a full Linux distribution from source, including the toolchain, base system, desktop environments (X11, Wayland, Qt5, GTK), and multimedia libraries. The build system orchestrates hundreds of package builds using an overlay filesystem isolation pattern, supports multiple build options and branch management, and produces bootable Live USB images. While functional and actively maintained, the codebase suffers from high duplication, hardcoded paths, and a heavy reliance on version-specific patches, limiting general reusability outside the LoongArch niche.

RATING: 6.3/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
LineageOS/android β˜… 4645 1897 APPLICATION

This is the top-level manifest repository for the LineageOS Android distribution. It does not contain any application code, libraries, or build scripts. Its sole purpose is to define the set of Git repositories that must be synchronized to build the LineageOS operating system, using Google's `repo` tool. The repository provides a single `default.xml` manifest file that references hundreds of AOSP and LineageOS-specific projects, including kernel variants, hardware drivers, system components, and prebuilt toolchains. Snippet files under `snippets/` add kernel-specific manifests and LineageOS additions. This repository is a configuration artifact, not a software projectβ€”it is the entry point for initializing a local LineageOS build environment. There is no executable code, no test suite, and no reusable software components. The value lies in the curated list of project references and version pins, which enables reproducible builds across a wide range of devices.

RATING: 5.6/10 MAINT: active DRIFT: low
── end of results ──
$ submit: