Sorry for the delayed response (I was hoping Michael or Jon would chime in here as being those most familiar with developing and packaging inkscape on OS X).
On 15/3/11 19:27, Gellule Xg wrote:
I have made some little progress in a local branch on an OSX?aqua version of inkscape. I would like to know what the best way is to give these changes back to inkscape. Many patches? A branch on launchpad? Would a branch ~gellule-xg/inkscape/aqua work for now? Can it be made available to others later, before a merge back in master?
So far, I have workarounds for: https://bugs.launchpad.net/bugs/487144 https://bugs.launchpad.net/bugs/721448
If the changes for each bug are small, a patch (bzr diff path/to/src-file-or-directory, against current trunk) attached to each report would be fine and allow further testing.
As far as I understand, the recommended "Ubuntu/Launchpad" workflow is to create a branch for each issue, link the branch to the report and propose the branch for merging. Then the changes specific to the reported bug or feature can be tested & reviewed by members of the Inkscape developer team (who are notified about the merge proposal).
Personally, I prefer to test patches directly (if only a few number of files are modified), but others more familiar with a distributed workflow with Bazaar are likely to prefer handling separate branches for each issue.
Hopefully others - with much more experience using different workflows with bzr - will comment here as well...
Would a branch ~gellule-xg/inkscape/aqua work for now?
Just a minor footnote: personally I would avoid using 'aqua' anywhere concerning Inkscape using the Quartz backend of GTK+ - imho 'aqua' implies features & seamless desktop integration which can't be achieved: Inkscape will remain a GTK+ application even if it uses the native quartz backend of GTK+. Why not using 'inkscape-quartz' instead?
I am also able to get rid of the launcher script used for the X11 version and put the inkscape executable directly in the application bundle. I have also started using ige-mac-integration to determine the correct paths to use throughout inkscape. I am currently working on the relocation of the libraries into the application package, one step before the production of the disk image.
I'm just curious: if you "put the inkscape executable directly in the application bundle" - how do you set the required environment variables for inkscape-bin and the other modules (as is currently done in the shell script wrapper 'Contents/Resources/bin/inkscape')? Can this be done in the 'Info.plist' file?
For a new routine to create the application package (which certainly require a rewrite of the current shell scripts used), I think a separate branch would be helpful although the changes are supposed to be limited to 'packaging/macosx/*' and not affect any parts of the inkscape source code and configure scripts.
Is anyone familiar with install_name_tool and the -headerpad_max_install_name or -headerpad linker flags? I might need a little help there.
I saw your latest mail in 'macports-dev' [1] - you seem to have been able to solve it for all dependencies from MacPorts that need to be included in Inkscape.app. Currently, the packaging script relies on a custom $PREFIX for MacPorts (using a path name long enough so that all modules and libs can have their install name rewritten). In bug #532765 [2] I have proposed some changes to the fixlib() function to allow it to work with non-root custom MacPorts installation, and to fix the currently redundant looping and the incorrect ids which are created for most of the dylibs. It works fine for me (I do need those changes because the current fixlib() function doesn't work with my setup - MacPorts tree(s) installed into a separate partition (volume)).
Thank you for looking into current issues to get Inkscape work with the Quartz backend of GTK+ - as you certainly know this is a often made request by Mac users who reject or dislike programs running under X11/Xquartz.
~suv
[1] http://lists.macosforge.org/pipermail/macports-dev/2011-March/014214.html [2] https://bugs.launchpad.net/inkscape/+bug/532765