commit:     710f0f3a226773590ec1b33078aa322eb5032598
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 01:17:48 2020 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Fri Oct 16 01:17:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=710f0f3a

dev-ml/ocamlbuild: Fix tests #705052

Thanks to tka for reporting.  Thanks to Bernd Feige for helping.

Closes: https://bugs.gentoo.org/705052
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Mark Wright <gienah <AT> gentoo.org>

 dev-ml/cairo2/cairo2-0.6.1.ebuild                  |   7 +-
 ...6.1-Fix-multiple-definitions-of-variables.patch | 102 +++++++++++++++++++++
 .../files/cairo2-0.6.1-ignore-gtk-and-pango.patch  |  82 +++++++++++++++++
 3 files changed, 190 insertions(+), 1 deletion(-)

diff --git a/dev-ml/cairo2/cairo2-0.6.1.ebuild 
b/dev-ml/cairo2/cairo2-0.6.1.ebuild
index 9466d8e1db2..09af6b91695 100644
--- a/dev-ml/cairo2/cairo2-0.6.1.ebuild
+++ b/dev-ml/cairo2/cairo2-0.6.1.ebuild
@@ -30,5 +30,10 @@ BDEPEND=""
 # Done: 70/72 (jobs: 1) * ERROR: dev-ml/cairo2-0.6.1::x-portage failed (test 
phase):
 RESTRICT=test
 
+# Remove lablgtk2 dep https://github.com/Chris00/ocaml-cairo/issues/21
 # Fix compiler warnings, from: https://github.com/Chris00/ocaml-cairo/pull/22
-PATCHES=( "${FILESDIR}"/${PN}-0.6.1-handle-safe-string.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.6.1-ignore-gtk-and-pango.patch
+       "${FILESDIR}"/${PN}-0.6.1-handle-safe-string.patch
+       "${FILESDIR}"/${PN}-0.6.1-Fix-multiple-definitions-of-variables.patch
+)

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 00000000000..4f0eed29736
--- /dev/null
+++ 
b/dev-ml/cairo2/files/cairo2-0.6.1-Fix-multiple-definitions-of-variables.patch
@@ -0,0 +1,102 @@
+From: Stephane Glondu <st...@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 */

diff --git a/dev-ml/cairo2/files/cairo2-0.6.1-ignore-gtk-and-pango.patch 
b/dev-ml/cairo2/files/cairo2-0.6.1-ignore-gtk-and-pango.patch
new file mode 100644
index 00000000000..90fc00f1ddc
--- /dev/null
+++ b/dev-ml/cairo2/files/cairo2-0.6.1-ignore-gtk-and-pango.patch
@@ -0,0 +1,82 @@
+From: Debian OCaml Maintainers <debian-ocaml-ma...@lists.debian.org>
+Date: Sat, 15 Aug 2020 08:56:03 +0200
+Subject: ignore-gtk-and-pango
+
+===================================================================
+---
+ examples-gtk/dune   |  8 --------
+ examples-pango/dune |  8 --------
+ gtk/dune            | 13 -------------
+ pango/dune          | 13 -------------
+ 4 files changed, 42 deletions(-)
+ delete mode 100644 examples-gtk/dune
+ delete mode 100644 examples-pango/dune
+ delete mode 100644 gtk/dune
+ delete mode 100644 pango/dune
+
+diff --git a/examples-gtk/dune b/examples-gtk/dune
+deleted file mode 100644
+index 10d8fcb..0000000
+--- a/examples-gtk/dune
++++ /dev/null
+@@ -1,8 +0,0 @@
+-
+-(executables
+- (names    gtk_demo)
+-(libraries cairo2-gtk))
+-
+-(alias
+- (name examples)
+- (deps gtk_demo.exe))
+diff --git a/examples-pango/dune b/examples-pango/dune
+deleted file mode 100644
+index c8ae49e..0000000
+--- a/examples-pango/dune
++++ /dev/null
+@@ -1,8 +0,0 @@
+-
+-(executables
+- (names    pango_demo rendering)
+- (libraries cairo2-pango))
+-
+-(alias
+- (name examples)
+- (deps pango_demo.exe rendering.exe))
+diff --git a/gtk/dune b/gtk/dune
+deleted file mode 100644
+index 6ef367e..0000000
+--- a/gtk/dune
++++ /dev/null
+@@ -1,13 +0,0 @@
+-
+-(library
+- (name        cairo_gtk)
+- (public_name cairo2-gtk)
+- (c_names     cairo_gtk_stubs)
+- (c_flags     :standard (:include c_flags.sexp))
+- (c_library_flags :standard (:include c_library_flags.sexp))
+- (libraries  threads lablgtk2 cairo2)
+- (synopsis "Rendering Cairo on Gtk canvas"))
+-
+-(rule
+- (targets c_flags.sexp c_library_flags.sexp)
+- (action  (run ../config/discover.exe --gtk)))
+diff --git a/pango/dune b/pango/dune
+deleted file mode 100644
+index 816cc49..0000000
+--- a/pango/dune
++++ /dev/null
+@@ -1,13 +0,0 @@
+-
+-(library
+- (name        cairo_pango)
+- (public_name cairo2-pango)
+- (c_names     cairo_pango_stubs)
+- (c_flags     :standard (:include c_flags.sexp))
+- (c_library_flags :standard (:include c_library_flags.sexp))
+- (libraries  threads lablgtk2 cairo2)
+- (synopsis "Interface between Cairo and Pango"))
+-
+-(rule
+- (targets c_flags.sexp c_library_flags.sexp)
+- (action  (run ../config/discover.exe --gtk)))

Reply via email to