[Bug 211201] print/freetype2: update to 2.7, add V40 code

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Oct 28 15:40:17 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211201

--- Comment #50 from lightside <lightside at gmx.com> ---
(In reply to comment #47)
> 1 new failure on 11.0 amd64: graphics/inventor
> http://package22.nyi.freebsd.org/data/110amd64-default-PR211201/2016-10-26_08h08m09s/logs/errors/inventor-2.1.5.p10_12.log
I investigated mentioned issue.
The 2.6.3 version used commented "-export-symbols $(EXPORTS_LIST)" line in
builds/unix/unix-cc.in file:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/builds/unix/unix-cc.in?h=VER-2-6-3#n112

The 2.7 version have it uncommented:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/builds/unix/unix-cc.in?h=VER-2-7#n112

The --export-symbols option limits the list of exported symbols, generated by
apinames program:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/tools/apinames.c?h=VER-2-7
https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html

For freetype2 v2.6.3:
-8<--
% readelf -Ds libfreetype.so.6.12.3 | grep FT_Done_GlyphSlot || echo not found
  533 247: 0000000000013b70   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphSlot
-->8-

For freetype2 v2.7 (before patch):
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not found
not found
-->8-

I created two variants of patches, which fixes this:
1) First variant in attachment #176248, which comments "-export-symbols" option
in builds/unix/unix-cc.in file:
-8<--
        @${REINPLACE_CMD} -e '/-export-symbols/s|^|#|' \
                ${WRKSRC}/builds/unix/unix-cc.in
-->8-
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not found
  555 247: 0000000000014490   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphSlot
-->8-

2) Second variant in attachment #176249, which adds FT_Done_GlyphSlot as
exported function to include/freetype/ftglyph.h file:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freetype/ftglyph.h?h=VER-2-7#n47
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freetype/internal/ftobjs.h?h=VER-2-7#n601
-8<--
        @${REINPLACE_CMD} -e \
        '/FT_BEGIN_HEADER/s|$$|\${.newline}FT_EXPORT(void)
FT_Done_GlyphSlot(FT_GlyphSlot slot);|' \
                ${WRKSRC}/include/freetype/ftglyph.h
-->8-
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not found
  161 157: 000000000000ebb0   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphSlot
-->8-

The second variant is more correct, in my opinion, while first variant is more
simple, but may create issues with other exported symbols.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-gnome mailing list