- Remove integrated OpenCore creation/extraction code from quickget:
require_mtools/sgdisk helpers, create_macos_disk_with_opencore,
download_opencore and related logic
- Simplify quickemu macOS boot flow to expect a separate OpenCore.qcow2
or ESP.qcow2; streamline device/drive argument construction
- Remove mtools and gptfdisk from devshell.nix and package.nix
- Always download OpenCore.qcow2 via legacy method and update status
messages
Signed-off-by: Martin Wimpress <martin@wimpress.org>
- Replace builtins.match with builtins.split for version extraction
- Previous regex with .* patterns caused catastrophic backtracking on large files (~2800 lines)
- builtins.split avoids full-string regex matching and is more efficient
Fixes: Nix build CI failure
- Update flake.nix and package.nix to refresh package definitions and
pins
- Refresh devshell.nix to include updated development dependencies
- Adjust debian/control metadata to match packaging and dependency
changes
- Align packaging metadata between Nix and Debian to improve
reproducibility
Signed-off-by: Martin Wimpress <martin@wimpress.org>
Create macOS VMs with OpenCore embedded in the EFI partition of disk.qcow2
instead of using a separate OpenCore.qcow2 file. This simplifies VM management
by reducing from two disk images to one.
Implementation:
- Add create_macos_disk_with_opencore() using mtools/sgdisk for cross-platform
EFI partition creation without mounting or root privileges
- Add download_opencore() to extract OpenCore files from OSX-KVM image
- Use LC_ALL='' with mcopy to prevent FAT directory name mangling
- Adjust disk size threshold for macOS integrated mode (1GB vs 1.5MB)
Backwards compatibility:
- If OpenCore.qcow2 exists, use legacy two-disk boot method
- If mtools/sgdisk unavailable, fall back to legacy method automatically
New dependencies: mtools, gptfdisk (added to devshell.nix and package.nix)
Closes#1720
- Refresh flake.nix inputs and pins to align with current upstream
- Update devshell.nix to use revised development environment packages
- Adjust package.nix to match dependency and tooling changes from the
flake update
- Keep reproducible builds and developer tooling current
Signed-off-by: Martin Wimpress <martin@wimpress.org>
* docs: Simplify make rules for pandoc
This removes a --standalone duplicate and counter-productive
indirections like $(MANSECTION) because it prevents having more
than one and docs/Makefile hardcodes the section anyway.
* docs: Move quickemu_conf manual to section 5
Where it technically belongs... With the new make rules for pandoc, it's
actually much easier to manage manuals in several sections without much
overhead.
* docs: Remove potential quickemu_conf.1 leftover