# shellcheck shell=bash # Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License. # See LICENSE.md for license information. # SPDX-License-Identifier: MIT # # cadius: ProDOS disk-image tool used by every IIgs disk script. The # scripts parse its CATALOG output, so it stays pinned to the mach-kernel # fork commit they were written against (v1.4.6). compDescription="IIgs disk images: cadius 1.4.6 (ProDOS image tool)" compGroups="toolchain:iigs emulator:iigs" compRequires="host" compHostDeps="build-tools git" compUrl="https://github.com/mach-kernel/cadius.git" compCommit="75c4aa684f6aa0de0c2879b729be465196a348ba" # Built with _GNU_SOURCE: its strptime() call has no prototype otherwise, # which gcc 14 (Fedora 40) rejects. The flag is in the pin so existing # builds redo it. cflags="-D_GNU_SOURCE" compPin="$compCommit $cflags" compInstall() { local src src="$(freshBuildDir "$compId")" gitFetchCommit "$compUrl" "$compCommit" "$src" # Through the environment: its Makefile appends its own flags to it. CFLAGS="$cflags" make -C "$src" -j"$JOEY_JOBS" install -D -m 755 "$src/bin/release/cadius" "$compDir/bin/cadius" dropBuildDir "$compId" } compInstalled() { [ -x "$compDir/bin/cadius" ] } compVerify() { local banner # Run with no arguments it prints its banner and exits non-zero. banner="$("$compDir/bin/cadius" 2>&1 || true)" [[ "$banner" == *"v 1.4.6"* ]] } compEnv() { envVar CADIUS "$compDir/bin/cadius" }