~ruther/guix-local

401f9a8b15b126dc6b8a357474f89ae7cb915601 — Eric Bavier 11 years ago 21481a2
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.
3 files changed, 56 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/fltk.scm
A gnu/packages/patches/fltk-shared-lib-defines.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 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	\

M gnu/packages/fltk.scm => gnu/packages/fltk.scm +4 -1
@@ 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)

A gnu/packages/patches/fltk-shared-lib-defines.patch => gnu/packages/patches/fltk-shared-lib-defines.patch +51 -0
@@ 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 */