diff options
Diffstat (limited to 'dev-ml/cairo2/files')
3 files changed, 234 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 */ diff --git a/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch b/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch new file mode 100644 index 000000000000..8571da4ea9fe --- /dev/null +++ b/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch @@ -0,0 +1,50 @@ +commit 9881f6c861ccf1150fffd6ccdb8b93181ad14263 (HEAD -> const, origin/const) +Author: Olaf Hering <olaf@aepfle.de> +Date: Fri Jul 17 15:47:59 2020 +0200 + + handle safe-string + + String_val() returns 'const char *'. + caml_named_value returns 'const value *'. + + Signed-off-by: Olaf Hering <olaf@aepfle.de> + +diff --git a/src/cairo_macros.h b/src/cairo_macros.h +index d952c10..1348b27 100644 +--- a/src/cairo_macros.h ++++ b/src/cairo_macros.h +@@ -173,7 +173,7 @@ + + /* holds the pointer to the Unavailable exception; shared several + functions. */ +-value * caml_cairo_Unavailable = NULL; ++const value * caml_cairo_Unavailable = NULL; + + #define RAISE_UNAVAILABLE(name, args ...) \ + CAMLexport value caml_##name(args) \ +diff --git a/src/cairo_ocaml_types.h b/src/cairo_ocaml_types.h +index b850ae2..267f657 100644 +--- a/src/cairo_ocaml_types.h ++++ b/src/cairo_ocaml_types.h +@@ -45,7 +45,7 @@ DEFINE_CUSTOM_OPERATIONS(cairo, cairo_destroy, CAIRO_VAL) + /* raise [Error] if the status indicates a failure. */ + void caml_cairo_raise_Error(cairo_status_t status) + { +- static value * exn = NULL; ++ static const value * exn = NULL; + + if (status != CAIRO_STATUS_SUCCESS) { + if (exn == NULL) { +diff --git a/src/cairo_stubs.c b/src/cairo_stubs.c +index de35aca..597c0bf 100644 +--- a/src/cairo_stubs.c ++++ b/src/cairo_stubs.c +@@ -1681,7 +1681,7 @@ static cairo_status_t caml_cairo_output_string + CAMLlocal2(s, r); + + s = caml_alloc_string(length); +- memmove(String_val(s), data, length); ++ memmove(&Byte(String_val(s), 0), data, length); + r = caml_callback_exn(* ((value *) fn), s); + if (Is_exception_result(r)) + CAMLreturn(CAIRO_STATUS_WRITE_ERROR); 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 000000000000..90fc00f1ddcf --- /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-maint@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))) |