Difference between revisions of "Notes on Packaging for OS X"

From Inkscape Wiki
Jump to navigation Jump to search
(Fill in the osx-packaging-update TODO list a bit)
(Add stuff for osxmenu too)
Line 140: Line 140:


* Based on (or cherry-picked from) Gellule's and Valerio's work
* Based on (or cherry-picked from) Gellule's and Valerio's work
* … (TODO: summary of changes)
* 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
; Status

Revision as of 00:23, 15 September 2014

Current Status

Available download
Inkscape.0.48.5 [1]
Requirements
XQuartz >= 2.5.1
Mac OS X >= 10.5.8 (compiled as 32bit app on Mac OS X 10.5.8)
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 - Bug #1132277, #617079, #476678, #406662
missing: system fonts (fontconfig) - Bug #1288672
missing: UniConvertor support - Bug #1216793
missing: ps2pdf for Postscript input - Bug #642522(osx, win32)
partial: spellchecker limited to English dictionary - Bug #396322
crash on second import from OpenClipArt in same session - Bug #365567
crash on launch if incompatible color profiles are present (lcms1, encoding) - Bug #623640
Known issues on specific versions of OS X
Leopard: requires XQuartz >= 2.5.1 - Bug #878368
Lion, Mountain Lion, Mavericks: extensions don't work out-of-the-box - Bug #819209
Mavericks: XQuartz conflict with multi-monitor setups - Bug #1244397
Scripts & Resources in 'packaging/macosx' (stable, trunk)
no support for Mac OS X >= 10.6 (can't be used as is to create new packages)
written for GTK+/X11 based application
missing: DMG with precompiled python packages (was hosted on modevia)
no updates for changes in upstream packages
no updates for known bugs (extensions, locale detection, fonts)
no options to support GTK+/Quartz

Roadmap

Provide packages built with GTK+/Quartz
no requirement for X11/XQuartz
OS integration (menubar, shortcuts, dock menu, proxy icon)
re-enable system fonts
improve language detection
improve CLI usage
Extensions
use Python 2.7 (64bit) (provided by OS X)
include ps2pdf, UniConvertor
include dbus (without launchd support) (0.91)
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, wip
Related branch
lp:~suv-lp/inkscape/osxmenu

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
merge proposal
Related branch
osx-packaging-update