Packaging Mango
Mango welcomes distribution maintainers to package the compositor for their distributions. This guide provides reference implementations and guidelines for creating packages.Reference Implementations
Before creating a new package, check these reference implementations:Build System
Mango uses Meson as its build system:Dependencies
Required Dependencies
- wayland
- wayland-protocols
- libinput
- libdrm
- libxkbcommon
- pixman
- libdisplay-info
- libliftoff
- hwdata
- seatd
- pcre2
- xorg-xwayland
- libxcb
Build Dependencies
- meson
- ninja
- pkg-config
- gcc or clang
Special Dependency: scenefx
Mango requiresscenefx for window effects (blur, shadow, corner radius, opacity). You might need to package scenefx first for your distribution.
Check scenefx availability:
- Repository: scenefx
- Version used by Mango: 0.4.1
wlroots Dependency
Mango requires a specific version of wlroots:- Version: 0.19.2
Current Distribution Support
Arch Linux
Available in AUR:Gentoo Linux
Available in GURU repository:Fedora Linux
Available in Terra repository:Guix System
Package definition in source repository:NixOS
Flake support with NixOS and home-manager modules:Packaging Tips
Build Time
Mango is lightweight and builds completely within a few seconds, making it easy to test package builds.Configuration Files
Mango uses external configuration files that support hot-reload. Ensure your package includes default configuration or provides clear documentation on where to find example configurations. Example configurations:- Daily config
- DMS config (branch: dms)
Getting Help
If you encounter build errors when packaging Mango:- Read your distribution’s packaging documentation first (RTFM)
- Check reference implementations for similar distributions
- Create an issue on GitHub with:
- Distribution and version
- Build error logs
- Steps you’ve already tried
Submitting Your Package
Once you’ve successfully packaged Mango:- Submit to your distribution’s package repository
- Let us know on Discord or create a PR to update this documentation
- Your package will appear on Repology
Maintenance
Mango prioritizes stability and doesn’t make many breaking changes. However, keep an eye on:- wlroots version updates
- scenefx version updates
- Dependency changes
- Configuration format changes (rare)
