This repository has been archived on 2024-01-28. You can view files and clone it, but cannot push or open issues/pull-requests.
pokegb-nix/README.md

46 lines
1.3 KiB
Markdown

# pokegb-nix
A nixpkgs overlay for compiling/assembling Game Boy Pokémon ROMs.
## Usage
If you have a Nix version with flake support, simply run a command like this:
```bash
nix build ".#pokegb/red" # builds Pokémon Red/Blue
nix build ".#pokegb/all" # builds all ROMs into one directory
```
For the legacy Nix UI you can use a command like this:
```bash
nix-build -E 'import <nixpkgs> { overlays = [ (import ./default.nix) ]; }' -A pokegb.red
```
If you do not allow unfree packages globally, you might have to run the command
with the environment variable `NIXPKGS_ALLOW_UNFREE=1` set.
You can find a list of all packages provided by this overlay in `default.nix`.
## FAQ
### FireRed fails to build
For an unknown reason, FireRed fails to build sometimes without an error at
`arm-none-eabi-objcopy -O binary --gap-fill 0xFF --pad-to 0x9000000
pokefirered_rev1.elf pokefirered_rev1.gba`. Restarting the build a few times
should produce a succeeding build.
## License
[The MIT License](./LICENSE)
This only applies to the package expressions, not the built packages. Patches
may also be licensed differently, since they may be derivative works of the
packages to which they apply.
##### Disclaimer
This project is not affiliated with Nintendo or any of its subsidiaries.
Pokémon is a registered trademark of Nintendo.