All tests done on Mac OS X 10.7.5 Lion:
-
Test ok: PDF import (internal, poppler/cairo)
-
Test ok: check for poppler-data (test cases: Akita bus routes.pdf, 0610116.pdf)
-
Tip: disable http(s) for poppler's cli clients to avoid pulling in curl (with openssl deps)
Variant added to local port file last year (not in sync with latest MacPorts or latest poppler!):TODO: provide diff to add modified poppler port to
packaging/macosx/ports
(if considered useful).
NOTE: libssl and libcrypto are also pulled in as dependencies of libgnomevfs, so the tip for poppler would probably only make sense if the inkscape build for Inkscape.app was configured with--without-gnome-vfs
. Disabling (deprecated) gnome-vfs would not harm the app bundle: opening files via http/https links in the file chooser dialog never worked with Inkscape application packages for OS X, likely because the runtime requirements are not met (gnome-vfs-daemon, requires dbus session bus).
Fontconfig warning: line 150: blank doesn't take any effect anymore. please remove it from your fonts.conf
Inkscape's fontconfig fonts.conf file probably should be updated to match the one shipped with latest upstream fontconfig release.
Done: r15368 packaging/macosx: Remove deprecated "blank" element from fontconfig
MacPorts these days always defaults to use the native backend - unclear to me why one would do that if the rest is all installed as X11-based (using fontconfig). For 'crisp' GUI font renderering, pangocairo font backend can be changed via ENV in the inner launcher script. This may also help with previews of fonts in the font family dropdown, and in the 'Text and Font' dialog if fontconfig font dirs are extended beyond what the coretext backend sees via native known Font installation directories.
97a98,101
> # test font backend rendering
> export PANGOCAIRO_BACKEND="fontconfig"
> #export PANGOCAIRO_BACKEND="coretext"
>
Diff of changes in launcher script in Inkscape.app for testing: switch-pangocairo-backend-in-Inkscape-app-v1.diff
Done: r15371 packaging/macosx: Use fontconfig pangocairo backend for crisper UI text rendering
- Done: check whether $PANGOCAIRO_BACKEND affects the new font features
(preview in Text and Font dialog, and on-canvas)
AFAICT opentype font features on-canvas work with either backend if supported by the font (examples are the Linux Libertine fonts, or Mozilla's Fira Sans). The font preview in 'Text and font' (and in the font family dropdown menu) may differ:coretext
backend (current): common ligatures (e.g. 'fl') with a font like Lucida Grande render in the 'Text and Font' preview, but not on-canvas. Another font with special AAT features is Zapfino (compare the preview of the wordZapfino
to what is rendered on-canvas). Some fonts fail to render as preview (e.g. all Linux Libertine fonts).fontconfig
backend: font preview and on-canvas text are mostly in sync (but may differ from how text is rendered elsewhere in native applications which use Apple's font backend).
- TODO (for later): Once Inkscape switches entirely to Quartz backend on macOS, internal font handling in Inkscape at that point will likely require partial rewrite (to support native coretext backend in pango/harfbuzz (?)), and further investigation of the full scope of supported font features (Apple's coretext does support (some) opentype features, but it appears that coretext via pango/harfbuzz does not?).
Create list with commonly-used fonts known to include Advanced Typography Tables supported in- fontconfig/freetype/pango (OpenType) only,
- coretext (AAT) only,
- both.
Menu entry is defunct (bug #943148), should be disabled in official packages, see commit r13679 in the stable release branch for 0.91.
Done: r15367 menus: ifdef out OCL menu entries for macOS builds
With Inkscape 0.91, I made the decision to bundle the standard Adwaita GTK2 theme from GNOME with Inkscape.app instead of the by now somewhat "old-fashioned" customized Clearlooks Quicksilver theme which differs a lot more from the native appareance on more recent OS X versions than standard Adwaita. The only change I included at the time with Inkscape.app (0.91) was a workaround to address a minor glitch which is likely caused by code / widgets imported into Inkscape from GIMP (GimpSpinScale), otherwise the theme was included as designed and distributed by upstream GNOME.
Last year (between GNOME 3.18 and 3.20), the GTK2 version of Adwaita was refactored to better match with GNOME's default (built-in) GTK3 theme (Adwaita) - many small details changed: lot of widgets received wider margins or padding, the menu bar was adopted to the GTK3 appearance, the radio and check buttons were redesigned etc.
Bugzilla reports tracking the initial rework:
-
Tool icons are cut off:
first seen after Adwaita GTK2 was refactored for GNOME 3.20. -
GimpSpinScale widgets:
Examples: opacity and blur sliders in Fill and Stroke, parameter sliders in extension dialogs.Original Patched
- Missing menu borders:
(mentioned by Windell in message on the devel mailing list)
Among the changes of the rework was the removal of the menu border, as was also mentioned at the time in the original report in GNOME bugzilla which tracked the redesign of the menubar: Bug 747679 - Make menubar like gtk3 theme. Since then, related reports have been filed in GNOME's bugzilla but have not been addressed. As far as I understand, the lack of a visible border is less noticeable on main Linux desktops where a compositor adds dropshadows to the menus: - Checkbox changed appareance:
(mentioned by Windell in message on the devel mailing list)
The changed checkbox a is another decision made by designers of the GNOME standard theme (Adwaita GTK2) to better match the GTK3 theme - is there a specific reason that the new clipped checkmarks are detriment to Inkscape's usage on OS X, and that Inkscape packagers for OS X should modify certain aspects of the theme and its assets to restore or mimic parts of the older Adwaita GTK2 theme?
Upstream reports tracking the rework:- Bug 747680 - Make menu checkbox and radio like gtk3 theme
- gnome-themes-standard/commit: Rendered new checks and radios. ( before: after: )
- Fix for borderless menus in Inkscape.app: fix-borderless-menus-in-Inkscape-app-v1.diff
Based on patch in bug 763798 - not approved by upstream, fixes pending! - Fix for clipped toolbar buttons in Inkscape.app: fix-clipped-toolbar-buttons-in-Inkscape-app-v1.diff
- Fix for GimpSpinScale sliders in Inkscape.app: fix-GIMP-sliders-in-Inkscape-app-v3.diff
Done: r15374 packaging/macosx: Add app bundle patching mechanism
Done: r15375 packaging/macosx: Add su_v's theme patches
- Test ok: Render > Gears > Gear
- Test ok: Raster extensions (ImageMagick++)
- Check nested calls to inkscape via Popen in extension scripts:
- Test ok: Extensions > Arrange > Restack (launches inkscape cli to query all objects)
- Test ok: Save as
GIMP XCF maintaining layers (*.xcf)
(spawns inkscape to export layer to PNG - does spawned process correctly findshare/inkscape/ui/units.xml
?)
- Test ok: PDF with internal import, import via poppler/cairo
- Test ok: CDR with internal import (librevenge, libcdr)
- Test ok: UniConvertor (CDR import, simple test case: Frenchcurve.cdr)
- Test ok: UniConvertor (AI import (Adobe Illustrator 8.0 and below), simple test case: logo.ai)
- Test ok: various raster graphics formats provided via GdkPixbuf
- Test ok: EMF, WMF, VSD(X), VDX, WPG, XAML,
- Test ok: PostScript formats (PS, EPS) are not listed in the file type selector of the file chooser dialog.
(This is expected: Ghostscript (for ps2pdf) is a large dependency and not included in the app bundle) - TODO (help needed): test bitmap import (with resolution taken from image) on OS X 10.8 and later
(see also bug #1398521, #1410793)
- Test ok: PDF, PS, EPS, EMF, WMF, ODG, SIF, TAR
- Test fail: Optimized SVG (missing six, scour; see bug #1545085)
Done: r15376 packaging/macosx: Add python scour module
Done: r15377 packaging/macosx: Update scour to current version (0.35)
- Test ok: draw glyph, add new SVG font, check preview for glyph
- Test ok: launches PDF in Apple's Preview.app
- Test ok: spellcheck text on-canvas (en_US)
(previous crash with 0.91 is fixed, see also bug #1497020) - Test fail (IIRC expected): spellcheck in 'Text and Font > Text'
related console message:gtkspell error: enchant error for language: en_US.UTF-8
- Test ok: basic tablet usage with pressure sensitivity (Wacom BAMBOO CTH-470)
- Test fail: click on link in About dialog to open Inkscape homepage in browser.
Add desktop entry and default applications to use nativeopen
command (opens URL in default browser).
Proposed fix for Inkscape.app: fix-URL-links-in-Inkscape-app-v1.diff
Done: r15378 packaging/macosx: Fix hyperlinks in UI
Version string is Inkscape 0.92.1pre1 r
(missing revno): bug in builds from bzr branch based on osx-build.sh?
Done: r15372 CMake: Populate bzr rev number for autotools build
From the build info pasted inline for the gallery item:
LibWPD ---
LibWPG ---
Libcdr ---
Libvisio ---
I recall that the version check functions had flaws, and I can see that the libs are included in the app bundle:
-rwxr-xr-x 1 su_v staff 163084 Feb 7 13:40 librevenge-0.0.0.dylib*
-rwxr-xr-x 1 su_v staff 104036 Feb 7 13:40 librevenge-stream-0.0.0.dylib*
-rwxr-xr-x 1 su_v staff 516516 Feb 7 13:40 libwpd-0.10.10.dylib*
-rwxr-xr-x 1 su_v staff 98244 Feb 7 13:40 libwpg-0.3.3.dylib*
-rwxr-xr-x 1 su_v staff 607536 Feb 7 13:40 libcdr-0.1.1.dylib*
-rwxr-xr-x 1 su_v staff 488324 Feb 7 13:40 libvisio-0.1.1.dylib*
Possibly the info can be fixed with a simple revbump for the pkg-config check, or by updating/fixing the port names used for the port version check?
Done: r15370 packaging/macosx: Update package versions in osx-build.sh
Minor detail: update copyright years
Done: r15369 packaging/macosx: Bump copyright years