On 2014-04-21 10:00 +0100, Bryce Harrington wrote:
Okay, let's try this again.
- Chill. √ Development focuses on wrapping up √ Disable features that aren't finished √ Identify 'make distcheck' issues -----> Identify any critical OSX/Win32 packaging issues Identify remaining writing needed for Release Notes. √ Regressions Bug Hunt: 500 points Update tutorials and other docs
OSX Packaging Issues
For 0.91, the OSX packaging is under renovation to bring it up to standards that OSX users expect. su_v has taken a deep look into what we've had, and is working on a new package that uses the native Gtk-Quartz functionality.
As this is a pretty massive packaging change, we'll need to track this closely and lend hands as needed to ensure it's a success. Good news is there's still ample time, and strong interest in seeing this succeed.
su_v, do you have a todo list of what remains to be done?
Todo notes (non-exhaustive) for osxmenu branch (r12699): https://code.launchpad.net/~suv-lp/inkscape/osxmenu
1) Packaging (updated scripts & resources in packaging/osx): ========================================================= - osx-build.sh (compiles inkscape, runs other scripts) - write more explicit checks for dependencies - improve OS X/Xcode version detection to set correct flags for compiler and C++ Standard Library - decide on whether to add support for universal builds [10.4-10.5: (PPC, i386), >=10.6: (i386, x86_64)] - support theme choice (for osx-app.sh) as command line option - documentation
- osx-app.sh (creates application bundle) - test and fix if needed: build with Gnome-vfs enabled - handle missing dependencies (incl. optional python modules) - add command line option for default theme, support fallback - debug: further test and improve debug build option (no stripping) - debug: investigate how dSYMs could be provided as separate download - documentation
- osx-dmg.sh (creates DMG for distribution) - unchanged for now, consider replacing with new script (see gellule's branch, new script now hosted on github: https://github.com/andreyvit/yoursway-create-dmg ) - documentation
- create-{stock,symbolic}-icon-theme.sh (auxiliary scripts) - check: return failure if dependencies are missing - work around regressions with missing directional icons (trunk) - to discuss: alternatively, include full GNOME icon theme upstream GNOME seems to move towards requiring GNOME icon theme as prerequisit/fallback (with each new release there is new breakage when relying on built-in hicolor gtk icon theme) note: packaging issue because it (unnecessarily) increases size - explore options to automate creation of other custom stripped-down gtk icon themes (e.g. Faenza/Faience(-Azur), or Numix (flat theme)) - documentation
- ScriptExec/launcher.sh (sets up env for relocatable inkscape binary) - decide on final location of inkscape user profile dir - decide on final location of user font caches (share with GIMP.app ?) - improve locale detection - better fix for Ghostscript issue (sub-string matching 'Resource' in $GS breaks reloc support) - investigate recent regression with pango/Harfbuzz in coretext shaper - documentation
- Resources/{etc,share} - etc/fonts/local.conf: verify custom font config (match 'Sans' / 'sans-serif' to 'Helvetica' first) (what to do about the other generic font names?) - etc/gtk-2.0/gtkrc: verify custom default gtk settings - documentation
- Resources-extras/*/{icons,inkscape,themes} - finish rework of symbolic icons for Inkscape.app (WIP) - fix 'dark' theme: dim labels of inactive tabs of notebooks - fix 'Mac' theme: highlight buttons when hovered, selected or at least when pressed (example dialog: quit with unsaved changes) - fix 'Mac' theme: buttons in radio groups - fix 'Mac' theme: don't rely on blue 'Aqua' style only (users have a choice for native apps: Aqua, Graphite) - decide on default theme (proposal: Mac for stable, dark for trunk) - provide user-friendly method to change theme: - default: Adwaita GTK2, built-in hicolor icons - dark: dark GTK2 theme, light symbolic icons (GTK+ and inkscape) - light: Adwaita GTK2, dark symbolic icons (GTK+ and inkscape) - Mac: mimic OS X Aqua (Mavericks), stock icons (GTK+ and Inkscape) - any combination of user themes installed in ~/.themes and ~/.icons - documentation
- $top_srcdir/share/keys/osxmenu.xml - rename to Mac.xml - switch displayed shortcut for DialogPreferences to 'Cmd+,' - documentation
- $top_srcdir/Info.plist{.in,} - fix version info strings (include build revno) - support custom branches (package name, bundle identifier) - add/remove mimetypes based on build/packaging configuration (?) - decide on additional mimetypes (register Inkscape as editor for PNG as well, or not) - documentation
- Gatekeeper / Developer ID: - add support to sign the app bundle if Developer ID available (AFAIK Xcode installs command line tools for code signing)
2) Porting (changes in src/): ========================== - code review: - Hide SPDesktopWidget menubar (src/interface.cpp) - callback functions (src/main.cpp) for NSApplicationOpenFile (Dock, Finder) and NSApplicationBlockTermination (app quit requests) - relocation support (src/prefix.{cpp,h}, src/path-prefix.h) - new modifier (Cmd, aka Meta, aka GDK_MOD2_MASK) - shortcuts (048x): backport of trunk changes (accel group) - internal changes for poppler-data, spellchecker (reloc support)
- blocker (usability): - better handling of clipboard requests on application quit
- known failures: - radio items in sub-menus fail to update - window position doesn't consider offset for global menubar correctly - SVG font dialog (crashes) - Clipart Import (fails with Glib::Error)
- enhancements (integration): - menu layout (move prefs to application menu) - proxy icon in window title bar - native 'File > Open recent' list - menu item 'Reveal in Finder' - context menu for Dock icon
3) Roadmap (Inkscape 1.0): ======================= - Relocation support - migrate ScriptExec/launcher.sh to internal function (similar to _win32_set_inkscape_env() for Windows builds)
- GUI - app termination (persist without document window) - High DPI support for GUI and canvas (GTK3 (?)) - GTK theme engine which uses native APIs for widget rendering
- Spell checker - support additional locations for language dictionaries (per user) - provide installers for commonly requested language dictionaries
- Extensions - infrastructure to create installer packages for custom extensions (to ensure to use shared libraries from the app bundle if needed) - provide supplemental installers for extensions which depend on external helper apps or python modules not present on vanilla OS X
- Proposal for DBus scripting API support: (using a 'private' dbus session launched by the app) - provide custom Portfile to build dbus without launchd support - include dbus, dbus-launch in app bundle (might require patching dbus to ensure full relocation support) - start dbus session: via inkscape launcher script (optional) store env in user profile (DBUS_SESSION_BUS_ADDRESS, pid) - add menu item to open a new Terminal which is set up to communicate via dbus session bus launched by the application, or a script which can be sourced in existing Terminal to import dbus-related shell environment. - stop dbus session: include methods to kill user session dbus process (shell script, or via extension script)
4) "Short term goals" (remaining items pasted from old TODO.txt): ================== - check whether all relevant files are included for pygtk - encapsulate MacPorts-specific items in the build scripts to allow to substitute solutions for configurations with different package managers - debug: take note which libs either to strip or to run dsymutil on - What to do about gtk immodules? (and its locale files?) - test locale detection from gtk-mac--bundler script (fails in GIMP.app)