Prerequisites
Install Go
Aceplay requires Go 1.22 or higher (Go 1.25.0 is used in development).Download from go.dev if needed.
Quick Build
The fastest way to build for your current platform:build/aceplay.
Build Commands
Standard Build
Build with version information embedded from Git:- Compiles for your current platform (OS/architecture)
- Injects version from Git tags
- Injects commit hash and build date
- Outputs to
build/aceplay
Build for All Platforms
Cross-compile for Linux AMD64 and ARM64:dist/:
dist/aceplay-linux-amd64dist/aceplay-linux-arm64
Manual Build
Build directly with Go (without version info):Cross-Compilation
Build for a specific platform:Installation
Install to System
Install the built binary to/usr/bin:
- Builds the binary (if not already built)
- Installs to
/usr/bin/aceplaywith executable permissions - Installs desktop file to
/usr/share/applications/aceplay.desktop
Install for Development
Install to$GOPATH/bin for local development:
Uninstall
Remove installed files:Dependency Management
Download Dependencies
go mod download- Downloads all dependenciesgo mod tidy- Cleans up unused dependencies
Update Dependencies
Verify Dependencies
go mod tidy and go mod verify to ensure integrity.
Build Flags and Options
Version Information
The Makefile automatically injects version information:Build Directories
build/- Single platform builds (make build)dist/- Cross-platform builds (make build-all)
Clean Build Artifacts
build/directorydist/directory- Go build cache
Running Without Installing
Run Directly
Run with Hot Reload
For active development with automatic rebuilds:Watch for Changes
Auto-rebuild on file changes (requiresentr):
Troubleshooting
Go Version Too Old
Missing Dependencies
Permission Denied During Install
Cross-Compilation Errors
If cross-compilation fails, ensure you have the target toolchain:Next Steps
Testing
Learn how to run tests and ensure code quality
Contributing
Guidelines for contributing to the project