Notes on Packaging for OS X
Revision as of 17:22, 5 March 2016 by ~suv (talk | contribs) (→2014: osxmenu (~suv): update status)
Current Status
- Available download
- Inkscape 0.91 [1]
- Requirements
- XQuartz >= 2.5.1
- Mac OS X >= 10.5.8 (32bit app for Leopard and Snow Leopard, 64bit app for Lion and later)
- Python >= 2.5 (32bit) (provided by OS X) for extensions
- Known issues
- clipboard conflict with XQuartz (pastes as bitmap) - Bug #307005
- language detection is faulty - #617079, #476678
- missing: ps2pdf for Postscript input - Bug #642522(osx, win32)
- partial: spellchecker limited to English dictionary - Bug #396322
- GIO-based clip art import not supported - Bug #943148
- Known issues on specific versions of OS X
- Leopard: requires XQuartz >= 2.5.1 - Bug #878368
- Lion and later: no support for Retina/HiDPI displays - Bug #1216795
- Mavericks and later: XQuartz conflict with multi-monitor setups - Bug #1244397
- Mavericks and later: embedding bitmap images on import or paste from clipboard may crash Inkscape - Bug #1398521, Bug #1410793
- Mavericks and later: application bundle is not signed Bug #1363305
Roadmap
- Provide packages built with GTK+/Quartz
- no requirement for X11/XQuartz
- OS integration (menubar, shortcuts, dock menu, proxy icon)
- improve language detection
- improve CLI usage
- include dbus (without launchd support), gvfs (clipart import, GTK3 file chooser)
- Extensions
- include ps2pdf (Ghostscript)
- offer packages (installer) for additional extensions and required dependencies
- User data (OS X guidelines <-> XDG spec)
- inkscape profile folder in "$HOME/Library/Application Support/"
- caches in "$HOME/Library/Caches"
Future
- Packages based on GTK3/Quartz
- OS X integration based on native GTK3 features
- support for HiDPI resolutions
- multi-threading (OpenMP support in future version of clang)
Recent efforts
2012: Gellule Xg
- Based on trunk (lp:inkscape r11619)
- dependencies via MacPorts
- ige-mac-integration for osx menubar
- ige-mac-bundler for osx app
- osx-build.sh updated, osx-app.sh obsolete, osx-dmg.sh new
- Status
- experimental, abandoned
- +
- simplified bundle structure
- easier bundling (script is developed & maintained upstream)
- -
- extensions not working in app bundle
- themeing not yet included
- Related blueprint
- A quartz version for OS X
- Related branch
- lp:~inkscape.dev/inkscape/dev-osx
- Related threads
- Subject: Some progress on OSX/aqua, and how to go further?
- Subject: Packaging for OSX
- Subject: Verbs+SPAction versus GtkAction
- Related reports
- Bug #738973: Issues with inkscape-quartz blueprint
- Bug #1042597: gtk-mac-bundler: include python modules (and runtime) for extensions
- Bug #1043266: gtk-mac-integration support
- Bug #1043279: gtk-mac-bundler issues
- Bug #1045959: add DnD, 'Open with…' support for Dock & Finder icon
- Bug #1045963: add gtk-themes support
2013: Valerio Aimale
- Based on stable (lp:inkscape/0.48.x r9943)
- dependencies via MacPorts
- gtk-mac-integration for osx menubar, shortcuts, callbacks
- osx-build.sh, osx-app.sh updated
- script-based launcher (new)
- Status
- Release Candidate (RC5), abandoned
- +
- feature complete (including extensions, themeing)
- extensions: includes ps2pdf and UniConvertor, uses system Python
- -
- based on stable, not ported to trunk
- no source code available (RC builds cannot be recreated)
- gtk-mac-integration uses Quartz handlers (-> conflicts with keyboard input)
- depends on patched GTK+/Quartz stack for clipboard support
- no pasting of text in GUI widgets (XML Editor crashes on paste)
- Related threads
- Subject: Mac OS X Mountain Lion x86_64 packaging of 0.48.4
- Subject: Rejuvenated build system for Mac OS X
- Subject: Inkscape and Mac OSX menu integration
- Subject: Patch that allows use of Meta key on Mac OS X and all platforms
- Related reports
- Bug #1096996 Refreshed build system for Mac OS X
- Bug #1097009 Better integration with Mac OS X OS
- Bug #1097539 Actiavte the use of Meta|Command|WinFlag key for Mac Menu Accelerators
- RC build threads
- Subject: Mac OS X Build 0.48.4 RC1
- Subject: Mac OSX 0.48.4 RC2
- Subject: Mac OSX 0.48.4 RC3
- Subject: Mac OSX 0.48.4 RC4
- Subject: Mac OS X 0.48.4 RC5
- Based on (or cherry-picked from) Gellule's and Valerio's work
- Uses GTK+/Quartz backend in app bundle
- Supports gtk-mac-integration for integration with OS X global menu bar
- Supports dbus session bus
- New dark theme
- OS X friendly key bindings use Cmd instead of Ctrl
- … (TODO: more changes?)
- Status
- experimental, abandoned
- Known issues
- canvas redraws with Quartz backend are delayed (Screen recording 1,2)
- exchanging drawing content with native apps via clipboard fails (lp:546934, gtk:692123)
- Related branch
- lp:~suv-lp/inkscape/osxmenu
- Available download
- current link to available downloads on the branch page under 'Testing'
2014: osx-packaging-update (Liam P. White, ~suv)
- Based on current scripts in 'packaging/macosx' (X11-based)
- Works with latest version of dependencies
- Allows creating bundle with quartz
- Supports compiling Platypus launcher on newer versions of OS X
- Uses modern Adwaita theme instead of Clearlooks-Quicksilver theme in stable bundles
- Fixes library rewriting
- Uses Python bundles from MacPorts prefix
- Adds wrapper script for GIMP.app
- Status
- Proposal merged into trunk in revision 13620
- Update is included in the stable release branch 0.91.x.
- Related branch
osx-packaging-update(merged)
- Available download
- Stable release packages: 0.91 (requires 10.5.8 or later)
- Unstable trunk packages: 0.91+devel (DropBox) (requires 10.7 or later)