Free software to draw sky charts
SkyChart is a software to draw chart of the night sky for the amateur astronomer from a bunch of stars and nebulae catalogs.
- About SkyChart
- macOS ARM64 Build System
- Prerequisites
- Build Process
- Advanced Usage
- Troubleshooting
- App Bundle Architecture
- Build Results
See main web page for more information and full download:
🌐 https://www.ap-i.net/skychart
Please report any issue at:
🐛 https://www.ap-i.net/mantis/set_project.php?project_id=1
This software is part of a full suite for astronomical observation:
- CCDciel - CCD/CMOS camera capture
- INDI Starter - INDI server management
- EQMod GUI - Mount control interface
Requirement: libpasastro
This repository includes a complete build and distribution system for SkyChart on macOS ARM64 (Apple Silicon) with automated CI/CD pipeline support via GitHub Actions.
For Users:
./launch_skychart.shFor Developers:
# 1. Build dependencies
./build_dependencies.sh
# 2. Build main application
./build_macos_arm64.sh
# 3. Create distribution package
./package_macos.sh allAutomated Scripts:
build_dependencies.sh- Automated dependency package building (7 packages)build_macos_arm64.sh- Complete application build with Qt5 supportpackage_macos.sh- App bundle creation and distribution packaginglaunch_skychart.sh- Runtime launcher with proper environmenttest_build.sh- Build validation and testing
What's Built:
- ✅ Native ARM64 Performance - True ARM64 compilation (no Rosetta 2)
- ✅ Complete Functionality - Star charts, telescope control, WCS support
- ✅ Professional Distribution - macOS app bundles with code signing support
- ✅ Full Astronomical Data - Complete star catalogs (Hipparcos, GAIA, Tycho, etc.)
- macOS 11.0+ (Big Sur or later)
- Apple Silicon Mac (M1/M2/M3/M4)
- Xcode Command Line Tools
- Homebrew package manager
# Install required packages
brew install fpc qt@5
# Verify installations
fpc -v
qmake --version./build_dependencies.shBuilds 7 dependency packages:
bgrabitmappack- Graphics bitmap manipulationlaz_synapse- Network communication libraryindiclient- INDI telescope control protocolxmlparser- XML parsing utilitiesenhedit- Enhanced edit controlsuniqueinstance_package- Single instance managementlazvo- Virtual Observatory tools
./build_macos_arm64.shBuild Process:
- Environment Setup - Verifies prerequisites and paths
- Lazarus IDE Setup - Clones and builds with Qt5 support
- Qt5Pas Framework - Builds Qt5 bindings for Pascal
- Dependencies - Compiles all required packages
- WCS Library - Builds coordinate system library (520KB ARM64)
- Main Application - Compiles SkyChart executable (22MB ARM64)
- Data Setup - Configures astronomical data directories
- Verification - Ensures all components are properly built
./package_macos.sh allCreates complete app bundle with:
- Proper macOS
.appstructure - All dependencies embedded
- Complete astronomical data (193MB)
- DMG distribution package (61MB)
This repository includes a complete GitHub Actions CI/CD pipeline for automated ARM64 builds:
Pipeline Features:
- ✅ Native ARM64 cloud runners (when available)
- ✅ Self-hosted runner support (your Mac)
- ✅ Automated dependency installation
- ✅ Complete build automation
- ✅ Professional DMG distribution
- ✅ Artifact management and releases
Setup Self-Hosted Runner:
# Automated setup script
./setup_github_runner.shWorkflow Triggers:
- Push to
main,master, ormacos-arm64branches - Pull requests to main branches
- Manual workflow dispatch
Build Matrix:
- Primary: GitHub-hosted
macos-15-arm64runners - Fallback: Self-hosted ARM64 Mac runners
- Output: Professional DMG packages with automatic releases
For detailed CI/CD setup and analysis, see: GITHUB_ACTIONS_ANALYSIS.md
./package_macos.sh sign "Developer ID Application: Your Name"./package_macos.sh notarize your@email.com app-password TEAM_ID./build_macos_arm64.sh clean
./build_macos_arm64.shQt5 Framework Not Found:
export DYLD_FRAMEWORK_PATH="/Users/$(whoami)/homebrew/Cellar/qt@5/5.15.17/lib:$DYLD_FRAMEWORK_PATH"Missing WCS Library:
# Copy library to runtime location
cp skychart/library/wcs/libcdcwcs.dylib ~/homebrew/lib/Build Failures:
# Clean and rebuild dependencies
./build_dependencies.sh
./build_macos_arm64.sh clean
./build_macos_arm64.sh# Test build components
./test_build.sh
# Check executable architecture
file skychart/units/aarch64-darwin-qt5/skychart
# Verify app bundle
ls -la dist/SkyChart.app/Contents/SkyChart.app/
├── Contents/
│ ├── Info.plist # Bundle metadata
│ ├── MacOS/
│ │ ├── SkyChart # Launcher script
│ │ └── SkyChart_bin # Main executable (ARM64)
│ ├── Frameworks/
│ │ └── Qt5Pas.framework/ # Qt5 Pascal bindings
│ ├── Libraries/
│ │ └── libcdcwcs.dylib # WCS library (ARM64)
│ └── Resources/
│ └── tools/ # Complete astronomical data
│ ├── data/ # Basic configuration
│ └── cat/ # Star catalogs (31 catalogs)
- SkyChart executable: 22MB ARM64 native binary
- WCS library: 520KB coordinate system library
- Complete app bundle: 193MB with all astronomical data
- Distribution DMG: 61MB compressed package
- Code signing ready: Developer ID certificate support
- Executable:
skychart/units/aarch64-darwin-qt5/skychart - App Bundle:
dist/SkyChart.app - DMG Package:
dist/SkyChart-*.dmg - Launcher:
launch_skychart.sh
After successful build, you should have:
- ✅ Native ARM64 SkyChart executable
- ✅ Complete Qt5 framework integration
- ✅ All 7 dependency packages compiled
- ✅ WCS library built and deployed
- ✅ Complete astronomical data catalogs (31 catalogs, 43MB)
- ✅ Proper macOS app bundle structure
- ✅ Distribution-ready DMG package
Verification Command: ./test_build.sh
✅ Complete and ready for production use, packaging, and distribution.
This build system provides a fully automated, reproducible process for creating native ARM64 SkyChart applications on Apple Silicon Macs. Testing CI/CD: Fri Sep 19 21:32:15 EDT 2025