Bug 220566 - java/openjfx8-devel: fix pango support
Summary: java/openjfx8-devel: fix pango support
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Tobias Kortkamp
URL: https://reviews.freebsd.org/D11545
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-08 16:51 UTC by Stefan Ehmann
Modified: 2017-07-11 14:15 UTC (History)
1 user (show)

See Also:


Attachments
patch to enable pango (1.11 KB, patch)
2017-07-08 16:51 UTC, Stefan Ehmann
no flags Details | Diff
demo code (483 bytes, text/x-java)
2017-07-08 16:52 UTC, Stefan Ehmann
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Ehmann 2017-07-08 16:51:48 UTC
Created attachment 184187 [details]
patch to enable pango

Currently the native pango support is not compiled because the related code is in a #ifdef __linux__ block.

Java programs requiring pango cause an UnsatisfiedLinkError.

Attached is:
* a patch to enable the pango code on FreeBSD
* a simple test program
Comment 1 Stefan Ehmann 2017-07-08 16:52:46 UTC
Created attachment 184188 [details]
demo code
Comment 2 Tobias Kortkamp freebsd_committer freebsd_triage 2017-07-09 10:16:35 UTC
Confirmed.  I'll commit it ASAP.

If you have time it would be nice if you can make this a pull request against the freebsd branch at https://bitbucket.org/tobik/openjfx-rt too.
Comment 3 Stefan Ehmann 2017-07-09 14:22:05 UTC
(In reply to Tobias Kortkamp from comment #2)

Thanks for handling this.

Don't have the time to create a pull request at the moment. I haven't worked with bitbucket/Mercurial before. So I'd need to educate myself first.
Comment 4 commit-hook freebsd_committer freebsd_triage 2017-07-11 13:21:16 UTC
A commit references this bug:

Author: tobik
Date: Tue Jul 11 13:20:18 UTC 2017
New revision: 445497
URL: https://svnweb.freebsd.org/changeset/ports/445497

Log:
  Add missing Pango symbols

  Currently Pango functions are hidden behind __linux__ and not compiled
  in as part of the build.  Not all JavaFX applications are affected by
  this, but applications that do advanced text layout that require Pango
  internally cause an UnsatisfiedLinkError at runtime.

  Caused by: java.lang.UnsatisfiedLinkError: com.sun.javafx.font.freetype.OSPango.pango_ft2_font_map_new()J
  	at com.sun.javafx.font.freetype.OSPango.pango_ft2_font_map_new(Native Method)
  	at com.sun.javafx.font.freetype.PangoGlyphLayout.layout(PangoGlyphLayout.java:88)
  	at com.sun.javafx.text.PrismTextLayout.shape(PrismTextLayout.java:834)
  	at com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1064)
  	at com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:223)
  	...

  PR:		220566
  Submitted by:	Stefan Ehmann <shoesoft@gmx.net>
  Approved by:	mat (mentor)
  Differential Revision:	https://reviews.freebsd.org/D11545
  MFH:	2017Q3

Changes:
  head/java/openjfx8-devel/Makefile
  head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_pango.c
Comment 5 commit-hook freebsd_committer freebsd_triage 2017-07-11 14:15:02 UTC
A commit references this bug:

Author: tobik
Date: Tue Jul 11 14:14:03 UTC 2017
New revision: 445500
URL: https://svnweb.freebsd.org/changeset/ports/445500

Log:
  MFH: r445497

  Add missing Pango symbols

  Currently Pango functions are hidden behind __linux__ and not compiled
  in as part of the build.  Not all JavaFX applications are affected by
  this, but applications that do advanced text layout that require Pango
  internally cause an UnsatisfiedLinkError at runtime.

  Caused by: java.lang.UnsatisfiedLinkError: com.sun.javafx.font.freetype.OSPango.pango_ft2_font_map_new()J
  	at com.sun.javafx.font.freetype.OSPango.pango_ft2_font_map_new(Native Method)
  	at com.sun.javafx.font.freetype.PangoGlyphLayout.layout(PangoGlyphLayout.java:88)
  	at com.sun.javafx.text.PrismTextLayout.shape(PrismTextLayout.java:834)
  	at com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1064)
  	at com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:223)
  	...

  PR:		220566
  Submitted by:	Stefan Ehmann <shoesoft@gmx.net>
  Approved by:	mat (mentor)
  Differential Revision:	https://reviews.freebsd.org/D11545

  Approved by:	ports-secteam (blanket)

Changes:
_U  branches/2017Q3/
  branches/2017Q3/java/openjfx8-devel/Makefile
  branches/2017Q3/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_pango.c