In this lightning talk, we will explore the reasons why Icedragon was created, what makes it unique, and how you can use it to provide portable builds for your projects.
Icedragon is a powerful tool that simplifies the process of building (and cross-compiling) static binaries using Rust, LLVM, and musl. In this talk, we will explore the reasons why Icedragon was created, what makes it unique, and how you can use it to provide portable builds for your projects.
About this talk
Cross-compilation and generating static binaries is a great way to distribute software to users, while making sure it works across Linux distributions. However, they can be complex tasks. In theory, Rust support for cross-compilation and static builds with musl libc. In practice, once your project depends on C libraries, or even uses any third-party crate with C dependencies, the complexity increases significantly. You might need to install foreign library copies, manage sysroots and at the end realize that your Linux distribution makes it difficult or impossible.
Icedragon was developed to address these challenges by providing an easy-to-use containerized environment that includes build essentials for various architectures. The CLI facilitates the use of Rust and clang within this environment, making it accessible and straightforward. All of that in zero-setup manner - just cargo install icedragon and you are good to go!
What sets Icedragon apart is its strong focus on LLVM as the default compiler toolchain and musl as the default libc. This choice is a sign of interest in novel tooling and ensures portability of software.
After spending many happy years in Scala, not mutating anything but copying objects faster than rabbits breed I ventured into the world where each allocation is carefully examined and it is perfectly normal to reuse the same list for different purposes.
This talk dives into common anti-patterns, offering practical tips to sidestep frustration. Whether you're new to Rust or leveling up, you’ll leave with insights to write clean, idiomatic, and maintainable code—without the tears.
Discover how Cargo extensions can revolutionize your Rust development workflow in this insightful talk.
This talk explores lessons learned while building a CRDT library with JSON semantics, aimed at application developers.
I'd like to share what we've learned in the last 2 years, when building Iggy.rs message streaming infrastructure from the ground up.