Notes on Packaging for OS X

From Inkscape Wiki
Jump to: navigation, search

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
Scripts & Resources in 'packaging/macosx' (stable, trunk)

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

2014: osxmenu (~suv)

  • 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)