aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-05-05 00:38:59 -0500
committerEric Bavier <bavier@member.fsf.org>2015-05-05 00:52:53 -0500
commit401f9a8b15b126dc6b8a357474f89ae7cb915601 (patch)
tree0dd539ec0e95cda39bca68b5e76120d627d05838
parent21481a284af7b7e9ad33fe072fde9d2ee3274017 (diff)
downloadguix-401f9a8b15b126dc6b8a357474f89ae7cb915601.tar
guix-401f9a8b15b126dc6b8a357474f89ae7cb915601.tar.gz
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.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/fltk.scm5
-rw-r--r--gnu/packages/patches/fltk-shared-lib-defines.patch51
3 files changed, 56 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 0644a649a3..798188f7e7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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 \
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index 1ac1f2507e..cbd9d00e8c 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -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)
diff --git a/gnu/packages/patches/fltk-shared-lib-defines.patch b/gnu/packages/patches/fltk-shared-lib-defines.patch
new file mode 100644
index 0000000000..d36a50ff5e
--- /dev/null
+++ b/gnu/packages/patches/fltk-shared-lib-defines.patch
@@ -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 */