summaryrefslogtreecommitdiff
path: root/dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch')
-rw-r--r--dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch102
1 files changed, 102 insertions, 0 deletions
diff --git a/dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch b/dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch
new file mode 100644
index 000000000000..4f0eed297363
--- /dev/null
+++ b/dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch
@@ -0,0 +1,102 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Sat, 15 Aug 2020 09:08:30 +0200
+Subject: Fix multiple definitions of variables
+
+Bug-Debian: https://bugs.debian.org/968427
+Bug: https://github.com/Chris00/ocaml-cairo/issues/23
+Forwarded: https://github.com/Chris00/ocaml-cairo/issues/23
+---
+ src/cairo_ocaml.h.p | 18 +++++++++---------
+ src/cairo_ocaml_types.h | 4 +++-
+ 2 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/src/cairo_ocaml.h.p b/src/cairo_ocaml.h.p
+index 4192aed..1f05664 100644
+--- a/src/cairo_ocaml.h.p
++++ b/src/cairo_ocaml.h.p
+@@ -25,7 +25,7 @@
+ /* cairo_t
+ ***********************************************************************/
+ #define CAIRO_VAL(v) (* (cairo_t **) Data_custom_val(v))
+-struct custom_operations caml_cairo_ops;
++extern struct custom_operations caml_cairo_ops;
+
+ void caml_cairo_raise_Error(cairo_status_t status);
+ /* raise [Cairo.Error] if the status indicates a failure. */
+@@ -33,7 +33,7 @@ void caml_cairo_raise_Error(cairo_status_t status);
+ /* cairo_pattern_t
+ ***********************************************************************/
+ #define PATTERN_VAL(v) (* (cairo_pattern_t **) Data_custom_val(v))
+-struct custom_operations caml_pattern_ops;
++extern struct custom_operations caml_pattern_ops;
+
+ #define EXTEND_VAL(v) ((cairo_extend_t) Int_val(v))
+ #define VAL_EXTEND(v) Val_int(v)
+@@ -45,12 +45,12 @@ struct custom_operations caml_pattern_ops;
+ ***********************************************************************/
+
+ #define FONT_OPTIONS_VAL(v) (* (cairo_font_options_t**) Data_custom_val(v))
+-struct custom_operations caml_font_options_ops;
++extern struct custom_operations caml_font_options_ops;
+
+ /* cairo_font_type_t
+ ***********************************************************************/
+
+-value caml_cairo_font_type[5];
++extern value caml_cairo_font_type[5];
+
+ cairo_font_type_t caml_cairo_font_type_val(value vft);
+
+@@ -61,13 +61,13 @@ cairo_font_type_t caml_cairo_font_type_val(value vft);
+ ***********************************************************************/
+
+ #define SCALED_FONT_VAL(v) (* (cairo_scaled_font_t**) Data_custom_val(v))
+-struct custom_operations caml_scaled_font_ops;
++extern struct custom_operations caml_scaled_font_ops;
+
+ /* cairo_surface_t
+ ***********************************************************************/
+
+ #define SURFACE_VAL(v) (* (cairo_surface_t **) Data_custom_val(v))
+-struct custom_operations caml_surface_ops;
++extern struct custom_operations caml_surface_ops;
+
+ /* Type cairo_content_t */
+
+@@ -93,7 +93,7 @@ struct custom_operations caml_surface_ops;
+ ***********************************************************************/
+
+ #define PATH_VAL(v) (* (cairo_path_t **) Data_custom_val(v))
+-struct custom_operations caml_path_ops;
++extern struct custom_operations caml_path_ops;
+
+ #define PATH_DATA_ASSIGN(vdata, data) \
+ switch (data->header.type) { \
+@@ -151,10 +151,10 @@ struct custom_operations caml_path_ops;
+ #include <cairo-ft.h>
+
+ #define FT_LIBRARY_VAL(v) (* (FT_Library*) Data_custom_val(v))
+-struct custom_operations caml_cairo_ft_library_ops;
++extern struct custom_operations caml_cairo_ft_library_ops;
+
+ #define FT_FACE_VAL(v) (* (FT_Face*) Data_custom_val(v))
+-struct custom_operations caml_cairo_ft_face_ops;
++extern struct custom_operations caml_cairo_ft_face_ops;
+
+ #endif /* OCAML_CAIRO_HAS_FT */
+
+diff --git a/src/cairo_ocaml_types.h b/src/cairo_ocaml_types.h
+index b850ae2..84dde3d 100644
+--- a/src/cairo_ocaml_types.h
++++ b/src/cairo_ocaml_types.h
+@@ -276,7 +276,9 @@ struct custom_operations caml_font_options_ops = {
+ custom_deserialize_default };
+
+
+-/* caml_cairo_font_type is defined in "cairo_ocaml.h". */
++/* caml_cairo_font_type is exported in "cairo_ocaml.h". */
++value caml_cairo_font_type[5];
++
+ CAMLexport value caml_cairo_font_type_init(value unit)
+ {
+ /* noalloc */