gnu: fltk: Fix undefined symbol errors for shared libraries.

* gnu/packages/patches/fltk-shared-lib-defines.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/fltk.scm (source)[patches]: New field.
This commit is contained in:
Eric Bavier 2015-05-05 00:38:59 -05:00
parent 21481a284a
commit 401f9a8b15
3 changed files with 56 additions and 1 deletions

@ -418,6 +418,7 @@ dist_patch_DATA = \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -18,6 +19,7 @@
(define-module (gnu packages fltk)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (guix packages)
@ -35,7 +37,8 @@
"/fltk-" version "-source.tar.gz"))
(sha256
(base32
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))))
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))
(patches (list (search-patch "fltk-shared-lib-defines.patch")))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)

@ -0,0 +1,51 @@
This patch from upstream revision 10588.
--- fltk-1.3.3/src/Xutf8.h
+++ fltk-1.3.3/src/Xutf8.h
@@ -25,6 +25,7 @@
#include <X11/Xlib.h>
#include <X11/Xlocale.h>
#include <X11/Xutil.h>
+#include <FL/Fl_Export.H>
typedef struct {
int nb_font;
@@ -98,8 +99,8 @@
XUtf8FontStruct *font_set,
unsigned int ucs);
-int
-XGetUtf8FontAndGlyph(
+FL_EXPORT int
+fl_XGetUtf8FontAndGlyph(
XUtf8FontStruct *font_set,
unsigned int ucs,
XFontStruct **fnt,
--- fltk-1.3.3/src/gl_draw.cxx
+++ fltk-1.3.3/src/gl_draw.cxx
@@ -114,7 +114,7 @@
for (int i = 0; i < 0x400; i++) {
XFontStruct *font = NULL;
unsigned short id;
- XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
+ fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii);
ii++;
}
--- fltk-1.3.3/src/xutf8/utf8Wrap.c
+++ fltk-1.3.3/src/xutf8/utf8Wrap.c
@@ -816,10 +816,10 @@
/** get the X font and glyph ID of a UCS char **/
/*****************************************************************************/
int
-XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set,
- unsigned int ucs,
- XFontStruct **fnt,
- unsigned short *id) {
+fl_XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set,
+ unsigned int ucs,
+ XFontStruct **fnt,
+ unsigned short *id) {
/* int x; */
int *encodings; /* encodings array */