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

From Inkscape Wiki
Jump to: navigation, search
(Fill in the osx-packaging-update TODO list a bit)
m (2014: osxmenu (~suv): update status)
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
; Available download
 
; Available download
: Inkscape.0.48.5 [http://sourceforge.net/projects/inkscape/files/inkscape/0.48.5/]
+
: Inkscape 0.91 [http://inkscape.org/en/download/mac-os/]
  
 
; Requirements
 
; Requirements
 
: XQuartz >= 2.5.1
 
: XQuartz >= 2.5.1
: Mac OS X >= 10.5.8 (compiled as 32bit app on Mac OS X 10.5.8)
+
: 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
 
: Python >= 2.5 (32bit) (provided by OS X) for extensions
  
 
; Known issues
 
; Known issues
 
: clipboard conflict with XQuartz (pastes as bitmap) - [https://bugs.launchpad.net/inkscape/+bug/307005 Bug #307005]
 
: clipboard conflict with XQuartz (pastes as bitmap) - [https://bugs.launchpad.net/inkscape/+bug/307005 Bug #307005]
: language detection is faulty - [https://bugs.launchpad.net/inkscape/+bug/1132277 Bug #1132277], [https://bugs.launchpad.net/inkscape/+bug/617079 #617079], [https://bugs.launchpad.net/inkscape/+bug/476678 #476678], [https://bugs.launchpad.net/inkscape/+bug/406662 #406662]
+
: language detection is faulty - [https://bugs.launchpad.net/inkscape/+bug/617079 #617079], [https://bugs.launchpad.net/inkscape/+bug/476678 #476678]
: missing: system fonts (fontconfig) - [https://bugs.launchpad.net/inkscape/+bug/1288672 Bug #1288672]
+
: <strike>missing: UniConvertor support - [https://bugs.launchpad.net/inkscape/+bug/1216793 Bug #1216793]</strike>
+
 
: missing: ps2pdf for Postscript input - [https://bugs.launchpad.net/inkscape/+bug/642522 Bug #642522](osx, win32)
 
: missing: ps2pdf for Postscript input - [https://bugs.launchpad.net/inkscape/+bug/642522 Bug #642522](osx, win32)
 
: partial: spellchecker limited to English dictionary - [https://bugs.launchpad.net/inkscape/+bug/396322 Bug #396322]
 
: partial: spellchecker limited to English dictionary - [https://bugs.launchpad.net/inkscape/+bug/396322 Bug #396322]
: <strike>crash on second import from OpenClipArt in same session - [https://bugs.launchpad.net/inkscape/+bug/365567 Bug #365567]</strike>
+
: GIO-based clip art import not supported - [https://bugs.launchpad.net/inkscape/+bug/943148 Bug #943148]
: crash on launch if incompatible color profiles are present (lcms1, encoding) - [https://bugs.launchpad.net/inkscape/+bug/623640 Bug #623640]
+
  
 
; Known issues on specific versions of OS X
 
; Known issues on specific versions of OS X
 
: Leopard: requires XQuartz >= 2.5.1 - [https://bugs.launchpad.net/inkscape/+bug/878368 Bug #878368]
 
: Leopard: requires XQuartz >= 2.5.1 - [https://bugs.launchpad.net/inkscape/+bug/878368 Bug #878368]
: <strike>Lion, Mountain Lion, Mavericks: extensions don't work out-of-the-box - [https://bugs.launchpad.net/inkscape/+bug/819209 Bug #819209]</strike>
+
: Lion and later: no support for Retina/HiDPI displays - [https://bugs.launchpad.net/inkscape/+bug/1216795 Bug #1216795]
: Mavericks: XQuartz conflict with multi-monitor setups - [https://bugs.launchpad.net/inkscape/+bug/1244397 Bug #1244397]
+
: Mavericks and later: XQuartz conflict with multi-monitor setups - [https://bugs.launchpad.net/inkscape/+bug/1244397 Bug #1244397]
 +
: Mavericks and later: embedding bitmap images on import or paste from clipboard may crash Inkscape - [https://bugs.launchpad.net/inkscape/+bug/1398521 Bug #1398521], [https://bugs.launchpad.net/inkscape/+bug/1410793 Bug #1410793]
 +
: Mavericks and later: application bundle is not signed [https://bugs.launchpad.net/inkscape/+bug/1363305 Bug #1363305]
  
; Scripts & Resources in 'packaging/macosx' ([http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_48_BRANCH/files/head:/packaging/macosx/ stable], [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head:/packaging/macosx/ trunk])
+
; Scripts & Resources in 'packaging/macosx' ([http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_91_BRANCH/files/head:/packaging/macosx/ stable], [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head:/packaging/macosx/ 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 =
 
= Roadmap =
Line 37: Line 30:
 
: no requirement for X11/XQuartz
 
: no requirement for X11/XQuartz
 
: OS integration (menubar, shortcuts, dock menu, proxy icon)
 
: OS integration (menubar, shortcuts, dock menu, proxy icon)
: re-enable system fonts
 
 
: improve language detection
 
: improve language detection
 
: improve CLI usage
 
: improve CLI usage
 +
: include dbus (without launchd support), gvfs (clipart import, GTK3 file chooser)
  
 
; Extensions
 
; Extensions
: use Python 2.7 (64bit) (provided by OS X)
+
: include ps2pdf (Ghostscript)
: include ps2pdf, UniConvertor
+
: include dbus (without launchd support) (0.91)
+
 
: offer packages (installer) for additional extensions and required dependencies
 
: offer packages (installer) for additional extensions and required dependencies
  
Line 140: Line 131:
  
 
* 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
: experimental, wip
+
: experimental, abandoned
 +
 
 +
; Known issues
 +
: canvas redraws with Quartz backend are delayed (Screen recording [https://dl.dropboxusercontent.com/u/65084033/irc/Screen%20Recording%208.mp4 1],[https://dl.dropboxusercontent.com/u/65084033/irc/Screen%20Recording%209.mp4 2])
 +
: exchanging drawing content with native apps via clipboard fails ([https://bugs.launchpad.net/inkscape/+bug/546934 lp:546934], [https://bugzilla.gnome.org/show_bug.cgi?id=692123 gtk:692123])
  
 
; Related branch
 
; Related branch
 
: [https://code.launchpad.net/~suv-lp/inkscape/osxmenu lp:~suv-lp/inkscape/osxmenu]
 
: [https://code.launchpad.net/~suv-lp/inkscape/osxmenu lp:~suv-lp/inkscape/osxmenu]
 +
 +
; Available download
 +
: current link to available downloads on the [https://code.launchpad.net/~suv-lp/inkscape/osxmenu branch page] under 'Testing'
  
 
== 2014: osx-packaging-update (Liam P. White, ~suv)  <!-- https://launchpad.net/~inkscapebrony https://launchpad.net/~suv-lp --> ==
 
== 2014: osx-packaging-update (Liam P. White, ~suv)  <!-- https://launchpad.net/~inkscapebrony https://launchpad.net/~suv-lp --> ==
Line 160: Line 163:
  
 
; Status
 
; Status
: [https://code.launchpad.net/~inkscape.dev/inkscape/osx-packaging-update/+merge/233846 merge proposal]
+
: [https://code.launchpad.net/~inkscape.dev/inkscape/osx-packaging-update/+merge/233846 Proposal] merged into trunk in revision [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/13620 13620]
 +
: Update is included in the stable release branch [http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_91_BRANCH/files/head:/packaging/macosx/ 0.91.x].
  
 
; Related branch
 
; Related branch
: [https://code.launchpad.net/~inkscape.dev/inkscape/osx-packaging-update osx-packaging-update]
+
: <strike>[https://code.launchpad.net/~inkscape.dev/inkscape/osx-packaging-update osx-packaging-update]</strike> (merged)
 +
 
 +
; Available download:
 +
: Stable release packages: [https://inkscape.org/en/download/mac-os/ 0.91] (requires 10.5.8 or later)
 +
: Unstable trunk packages: [https://www.dropbox.com/sh/2n7aim2wcrn6l3h/AADjQQ_484Z_Po1X3RSqa29na?dl=0 0.91+devel (DropBox)] (requires 10.7 or later)

Latest revision as of 17:22, 5 March 2016

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)