gnu: fltk: Fix undefined symbol `Fl_XFont_On_Demand::value'.

* gnu/packages/patches/fltk-xfont-on-demand.patch: New patch.
* gnu/packages/fltk.scm (fltk)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
宋文武 2016-04-28 10:42:52 +08:00
parent 5ca54f41a0
commit 6fdc73e099
3 changed files with 48 additions and 1 deletions

View File

@ -477,6 +477,7 @@ dist_patch_DATA = \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flint-ldconfig.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/fltk-xfont-on-demand.patch \
gnu/packages/patches/fontforge-svg-modtime.patch \
gnu/packages/patches/freeimage-CVE-2015-0852.patch \
gnu/packages/patches/gawk-fts-test.patch \

View File

@ -47,7 +47,8 @@
(sha256
(base32
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))
(patches (search-patches "fltk-shared-lib-defines.patch"))))
(patches (search-patches "fltk-shared-lib-defines.patch"
"fltk-xfont-on-demand.patch"))))
(build-system gnu-build-system)
(inputs
`(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9

View File

@ -0,0 +1,45 @@
Fixes undefined reference to `Fl_XFont_On_Demand::value()'.
From <http://www.fltk.org/str.php?L3156+P0+S0+C0+I0+E0+V1+QOn_Demand>.
Index: src/fl_font.cxx
===================================================================
--- fltk-1.3.3/src/fl_font.cxx (revision 10503)
+++ fltk-1.3.3/src/fl_font.cxx (revision 10504)
@@ -55,6 +55,12 @@
# include "fl_font_x.cxx"
#endif // WIN32
+#if ! (defined(WIN32) || defined(__APPLE__))
+XFontStruct *fl_X_core_font()
+{
+ return fl_xfont.value();
+}
+#endif
double fl_width(const char* c) {
if (c) return fl_width(c, (int) strlen(c));
Index: src/gl_draw.cxx
===================================================================
--- fltk-1.3.3/src/gl_draw.cxx (revision 10503)
+++ fltk-1.3.3/src/gl_draw.cxx (revision 10504)
@@ -81,7 +81,7 @@
* then sorting through them at draw time (for normal X rendering) to find which one can
* render the current glyph... But for now, just use the first font in the list for GL...
*/
- XFontStruct *font = fl_xfont;
+ XFontStruct *font = fl_X_core_font();
int base = font->min_char_or_byte2;
int count = font->max_char_or_byte2-base+1;
fl_fontsize->listbase = glGenLists(256);
Index: FL/x.H
===================================================================
--- fltk-1.3.3/FL/x.H (revision 10503)
+++ fltk-1.3.3/FL/x.H (revision 10504)
@@ -132,6 +132,7 @@
XFontStruct *ptr;
};
extern FL_EXPORT Fl_XFont_On_Demand fl_xfont;
+extern FL_EXPORT XFontStruct* fl_X_core_font();
// this object contains all X-specific stuff about a window:
// Warning: this object is highly subject to change!