diff --git a/fltk-1.3-L3156.patch b/fltk-1.3-L3156.patch new file mode 100644 index 0000000..b61def2 --- /dev/null +++ b/fltk-1.3-L3156.patch @@ -0,0 +1,42 @@ +Index: src/fl_font.cxx +=================================================================== +--- src/fl_font.cxx (revision 10503) ++++ 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 +=================================================================== +--- src/gl_draw.cxx (revision 10503) ++++ 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 +=================================================================== +--- FL/x.H (revision 10503) ++++ 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! diff --git a/fltk-1.3.3-no_undefined.patch b/fltk-1.3.3-no_undefined.patch new file mode 100644 index 0000000..7037bc8 --- /dev/null +++ b/fltk-1.3.3-no_undefined.patch @@ -0,0 +1,22 @@ +diff -up fltk-1.3.3/configure.in.no_undefined fltk-1.3.3/configure.in +--- fltk-1.3.3/configure.in.no_undefined 2014-10-30 09:07:58.000000000 -0500 ++++ fltk-1.3.3/configure.in 2015-02-18 14:03:42.617667667 -0600 +@@ -1194,6 +1194,18 @@ if test -n "$GCC"; then + AC_MSG_RESULT(no)) + CFLAGS="$OLDCFLAGS" + ++ dnl Experimental (as of 17 Feb 2015): ++ dnl Make sure that shared libraries don't have undefined references ++ # See if ld supports -no-undefined... ++ AC_MSG_CHECKING(if ld supports -no-undefined) ++ OLDLDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -Wl,-no-undefined" ++ AC_TRY_LINK(,, ++ [DSOFLAGS="$DSOFLAGS -Wl,-no-undefined"] ++ AC_MSG_RESULT(yes), ++ AC_MSG_RESULT(no)) ++ LDFLAGS="$OLDLDFLAGS" ++ + # See if ld supports -Bsymbolic-functions... + AC_MSG_CHECKING(if ld supports -Bsymbolic-functions) + OLDLDFLAGS="$LDFLAGS" diff --git a/fltk.spec b/fltk.spec index 30de712..ed74706 100644 --- a/fltk.spec +++ b/fltk.spec @@ -9,7 +9,7 @@ Summary: C++ user interface toolkit Name: fltk Version: 1.3.3 -Release: 1%{?dist} +Release: 2%{?dist} # see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details License: LGPLv2+ with exceptions @@ -29,6 +29,10 @@ Source1: fltk-config.sh Patch1: fltk-1.3.2-fltk_config.patch Patch5: fltk-1.1.8-fluid_desktop.patch +## upstream patches +Patch100: fltk-1.3.3-no_undefined.patch +Patch101: fltk-1.3-L3156.patch + BuildRequires: desktop-file-utils BuildRequires: libjpeg-devel BuildRequires: pkgconfig(libpng) @@ -80,6 +84,9 @@ Requires: %{name}-devel %patch1 -p1 -b .fltk_config %patch5 -p1 -b .fluid_desktop +%patch100 -p1 -b .no_undefined +%patch101 -p0 -b .L3156 + # verbose build output sed -i.silent '\,^.SILENT:,d' makeinclude.in @@ -192,6 +199,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || : %changelog +* Wed Feb 18 2015 Rex Dieter 1.3.3-2 +- pull in upstream fixes for undefined symbols + * Fri Feb 13 2015 Rex Dieter 1.3.3-1 - 1.3.3