[packages/gegl] up to 0.4.66

atler atler at pld-linux.org
Wed Jan 14 11:18:58 CET 2026


commit a37370d7fddfe0e127d34b40931245411ae6c19a
Author: Jan Palus <atler at pld-linux.org>
Date:   Wed Jan 14 11:17:52 2026 +0100

    up to 0.4.66
    
    - add workaround for failed defcheck

 defs.patch | 686 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 gegl.spec  |  15 +-
 2 files changed, 695 insertions(+), 6 deletions(-)
---
diff --git a/gegl.spec b/gegl.spec
index 738e7ae..6ca2857 100644
--- a/gegl.spec
+++ b/gegl.spec
@@ -15,18 +15,19 @@
 %undefine	with_lua
 %endif
 
-%define	babl_ver	0.1.114
+%define	babl_ver	0.1.116
 %define	mrg_ver		0.1.4
 
 Summary:	Generic image processing library
 Summary(pl.UTF-8):	Ogólna biblioteka przetwarzania obrazu
 Name:		gegl
-Version:	0.4.62
-Release:	6
+Version:	0.4.66
+Release:	1
 License:	LGPL v3+/GPL v3+
 Group:		Libraries
 Source0:	https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz
-# Source0-md5:	0077654104c84fd54b4b48b92271131c
+# Source0-md5:	6897676f4a78de0faefea446268264bc
+Patch0:		defs.patch
 Patch1:		%{name}-ruby1.9.patch
 Patch2:		%{name}-build.patch
 Patch5:		%{name}-no-lua.patch
@@ -56,7 +57,7 @@ BuildRequires:	json-glib-devel >= 1.2.6
 BuildRequires:	lcms2-devel >= 2.8
 %{?with_lensfun:BuildRequires:	lensfun-devel >= 0.2.5}
 BuildRequires:	libjpeg-devel >= 1.0.0
-BuildRequires:	libnsgif-devel
+BuildRequires:	libnsgif-devel >= 1.0.0
 BuildRequires:	libpng-devel >= 2:1.6.0
 BuildRequires:	libraw-devel >= 0.15.4
 BuildRequires:	librsvg-devel >= 1:2.40.6
@@ -70,7 +71,7 @@ BuildRequires:	lua51-devel >= 5.1.5-2
 BuildRequires:	luajit-devel >= 2.0.4
 %endif
 BuildRequires:	maxflow-devel >= 3.0.4
-BuildRequires:	meson >= 0.55.0
+BuildRequires:	meson >= 0.59.0
 BuildRequires:	mrg-devel >= %{mrg_ver}
 BuildRequires:	ninja >= 1.5
 BuildRequires:	pango-devel >= 1:1.38.0
@@ -103,6 +104,7 @@ Requires:	jasper-libs >= 1.900.1
 Requires:	json-glib >= 1.2.6
 Requires:	lcms2 >= 2.8
 Requires:	lensfun >= 0.2.5
+Requires:	libnsgif >= 1.0.0
 Requires:	libraw >= 0.15.4
 Requires:	librsvg >= 1:2.40.6
 Requires:	libspiro >= 0.5.0
@@ -188,6 +190,7 @@ API języka Vala dla biblioteki gegl.
 
 %prep
 %setup -q
+%patch -P 0 -p1
 %patch -P 1 -p1
 %patch -P 2 -p1
 %patch -P 5 -p1
diff --git a/defs.patch b/defs.patch
new file mode 100644
index 0000000..2851269
--- /dev/null
+++ b/defs.patch
@@ -0,0 +1,686 @@
+From 0d8968d40c8dfb14073e39de50572dd88ac54f6f Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus at fastmail.com>
+Date: Wed, 14 Jan 2026 01:02:50 +0100
+Subject: [PATCH] seamless-clone: split out poly2tri symbols from .def file
+
+include them only when building with internal poly2tri
+
+Fixes #452
+---
+ seamless-clone/gegl-p2t.def | 312 +++++++++++++++++++++++++++++++++++
+ seamless-clone/gegl-sc.def  | 313 +-----------------------------------
+ seamless-clone/meson.build  |   9 +-
+ 3 files changed, 321 insertions(+), 313 deletions(-)
+ create mode 100644 seamless-clone/gegl-p2t.def
+
+diff --git a/seamless-clone/gegl-p2t.def b/seamless-clone/gegl-p2t.def
+new file mode 100644
+index 000000000..23b982ef8
+--- /dev/null
++++ b/seamless-clone/gegl-p2t.def
+@@ -0,0 +1,312 @@
++  AdvancingFront_set_head
++  p2t_advancingfront_destroy
++  p2t_advancingfront_find_search_node
++  p2t_advancingfront_free
++  p2t_advancingfront_head
++  p2t_advancingfront_init
++  p2t_advancingfront_locate_node
++  p2t_advancingfront_locate_point
++  p2t_advancingfront_new
++  p2t_advancingfront_search
++  p2t_advancingfront_set_search
++  p2t_advancingfront_set_tail
++  p2t_advancingfront_tail
++  p2t_cdt_add_hole
++  p2t_cdt_add_point
++  p2t_cdt_destroy
++  p2t_cdt_free
++  p2t_cdt_get_map
++  p2t_cdt_get_triangles
++  p2t_cdt_init
++  p2t_cdt_new
++  p2t_cdt_triangulate
++  p2t_edge_destroy
++  p2t_edge_free
++  p2t_edge_init
++  p2t_edge_new
++  p2t_node_destroy
++  p2t_node_free
++  p2t_node_init_pt
++  p2t_node_init_pt_tr
++  p2t_node_new_pt
++  p2t_node_new_pt_tr
++  p2t_orient2d
++  p2t_point_cmp
++  p2t_point_destroy
++  p2t_point_equals
++  p2t_point_free
++  p2t_point_init
++  p2t_point_init_dd
++  p2t_point_new
++  p2t_point_new_dd
++  p2t_sweep_angle
++  p2t_sweep_angle_exceeds_90_degrees
++  p2t_sweep_angle_exceeds_plus_90_degrees_or_is_negative
++  p2t_sweep_basin_angle
++  p2t_sweep_destroy
++  p2t_sweep_edge_event_ed_n
++  p2t_sweep_edge_event_pt_pt_tr_pt
++  p2t_sweep_fill
++  p2t_sweep_fill_advancingfront
++  p2t_sweep_fill_basin
++  p2t_sweep_fill_basin_req
++  p2t_sweep_fill_edge_event
++  p2t_sweep_fill_left_above_edge_event
++  p2t_sweep_fill_left_below_edge_event
++  p2t_sweep_fill_left_concave_edge_event
++  p2t_sweep_fill_left_convex_edge_event
++  p2t_sweep_fill_right_above_edge_event
++  p2t_sweep_fill_right_below_edge_event
++  p2t_sweep_fill_right_concave_edge_event
++  p2t_sweep_fill_right_convex_edge_event
++  p2t_sweep_finalization_polygon
++  p2t_sweep_flip_edge_event
++  p2t_sweep_flip_scan_edge_event
++  p2t_sweep_free
++  p2t_sweep_hole_angle
++  p2t_sweep_incircle
++  p2t_sweep_init
++  p2t_sweep_is_edge_side_of_triangle
++  p2t_sweep_is_shallow
++  p2t_sweep_large_hole_dont_fill
++  p2t_sweep_legalize
++  p2t_sweep_new
++  p2t_sweep_new_front_triangle
++  p2t_sweep_next_flip_point
++  p2t_sweep_next_flip_triangle
++  p2t_sweep_point_event
++  p2t_sweep_rotate_triangle_pair
++  p2t_sweep_sweep_points
++  p2t_sweep_triangulate
++  p2t_sweepcontext_add_hole
++  p2t_sweepcontext_add_point
++  p2t_sweepcontext_add_to_map
++  p2t_sweepcontext_basin_clear
++  p2t_sweepcontext_basin_init
++  p2t_sweepcontext_create_advancingfront
++  p2t_sweepcontext_delete
++  p2t_sweepcontext_destroy
++  p2t_sweepcontext_edgeevent_init
++  p2t_sweepcontext_front
++  p2t_sweepcontext_get_map
++  p2t_sweepcontext_get_point
++  p2t_sweepcontext_get_triangles
++  p2t_sweepcontext_head
++  p2t_sweepcontext_init
++  p2t_sweepcontext_init_edges
++  p2t_sweepcontext_init_triangulation
++  p2t_sweepcontext_locate_node
++  p2t_sweepcontext_map_triangle_to_nodes
++  p2t_sweepcontext_mesh_clean
++  p2t_sweepcontext_new
++  p2t_sweepcontext_point_count
++  p2t_sweepcontext_remove_from_map
++  p2t_sweepcontext_remove_node
++  p2t_sweepcontext_set_head
++  p2t_sweepcontext_set_tail
++  p2t_sweepcontext_tail
++  p2t_triangle_clear
++  p2t_triangle_clear_delunay_edges
++  p2t_triangle_clear_neighbor_tr
++  p2t_triangle_clear_neighbors
++  p2t_triangle_contains_ed
++  p2t_triangle_contains_pt
++  p2t_triangle_contains_pt_pt
++  p2t_triangle_debug_print
++  p2t_triangle_edge_index
++  p2t_triangle_get_constrained_edge_ccw
++  p2t_triangle_get_constrained_edge_cw
++  p2t_triangle_get_delunay_edge_ccw
++  p2t_triangle_get_delunay_edge_cw
++  p2t_triangle_get_neighbor
++  p2t_triangle_get_point
++  p2t_triangle_index
++  p2t_triangle_init
++  p2t_triangle_is_interior
++  p2t_triangle_is_interior_b
++  p2t_triangle_legalize_pt
++  p2t_triangle_legalize_pt_pt
++  p2t_triangle_mark_constrained_edge_ed
++  p2t_triangle_mark_constrained_edge_i
++  p2t_triangle_mark_constrained_edge_pt_pt
++  p2t_triangle_mark_neighbor_pt_pt_tr
++  p2t_triangle_mark_neighbor_tr
++  p2t_triangle_neighbor_across
++  p2t_triangle_neighbor_ccw
++  p2t_triangle_neighbor_cw
++  p2t_triangle_new
++  p2t_triangle_opposite_point
++  p2t_triangle_point_ccw
++  p2t_triangle_point_cw
++  p2t_triangle_set_constrained_edge_ccw
++  p2t_triangle_set_constrained_edge_cw
++  p2t_triangle_set_delunay_edge_ccw
++  p2t_triangle_set_delunay_edge_cw
++  p2t_utils_in_scan_area
++  p2tr_bounded_line_free
++  p2tr_bounded_line_init
++  p2tr_bounded_line_intersect
++  p2tr_bounded_line_new
++  p2tr_cdt_flip_fix
++  p2tr_cdt_free
++  p2tr_cdt_free_full
++  p2tr_cdt_get_segments_encroached_by
++  p2tr_cdt_insert_point
++  p2tr_cdt_insert_point_into_triangle
++  p2tr_cdt_is_encroached
++  p2tr_cdt_is_encroached_by
++  p2tr_cdt_new
++  p2tr_cdt_split_edge
++  p2tr_cdt_test_encroachment_ignore_visibility
++  p2tr_cdt_validate_cdt
++  p2tr_cdt_validate_edges
++  p2tr_cdt_validate_unused
++  p2tr_cdt_visible_from_edge
++  p2tr_circle_test_point_outside
++  p2tr_cluster_free
++  p2tr_cluster_get_for
++  p2tr_cluster_shortest_edge_length
++  p2tr_dt_free
++  p2tr_dt_new
++  p2tr_dt_refine
++  p2tr_edge_angle_between
++  p2tr_edge_angle_between_positive
++  p2tr_edge_free
++  p2tr_edge_get_diametral_circle
++  p2tr_edge_get_length
++  p2tr_edge_get_length_squared
++  p2tr_edge_get_mesh
++  p2tr_edge_is_removed
++  p2tr_edge_new
++  p2tr_edge_ref
++  p2tr_edge_remove
++  p2tr_edge_unref
++  p2tr_line_different_sides
++  p2tr_line_init
++  p2tr_line_intersection
++  p2tr_math_diametral_circle_contains
++  p2tr_math_diametral_lens_contains
++  p2tr_math_incircle
++  p2tr_math_intriangle
++  p2tr_math_intriangle2
++  p2tr_math_length_sq
++  p2tr_math_length_sq2
++  p2tr_math_orient2d
++  p2tr_math_triangle_barcycentric
++  p2tr_math_triangle_circumcircle
++  p2tr_mesh_action_del_edge
++  p2tr_mesh_action_del_point
++  p2tr_mesh_action_del_triangle
++  p2tr_mesh_action_free
++  p2tr_mesh_action_group_begin
++  p2tr_mesh_action_group_commit
++  p2tr_mesh_action_group_undo
++  p2tr_mesh_action_new_edge
++  p2tr_mesh_action_new_point
++  p2tr_mesh_action_new_triangle
++  p2tr_mesh_action_ref
++  p2tr_mesh_action_undo
++  p2tr_mesh_action_unref
++  p2tr_mesh_add_edge
++  p2tr_mesh_add_point
++  p2tr_mesh_add_triangle
++  p2tr_mesh_clear
++  p2tr_mesh_find_point
++  p2tr_mesh_find_point2
++  p2tr_mesh_find_point_local
++  p2tr_mesh_find_point_local2
++  p2tr_mesh_free
++  p2tr_mesh_get_bounds
++  p2tr_mesh_new
++  p2tr_mesh_new_edge
++  p2tr_mesh_new_or_existing_edge
++  p2tr_mesh_new_point
++  p2tr_mesh_new_point2
++  p2tr_mesh_new_triangle
++  p2tr_mesh_on_edge_removed
++  p2tr_mesh_on_point_removed
++  p2tr_mesh_on_triangle_removed
++  p2tr_mesh_ref
++  p2tr_mesh_render_b
++  p2tr_mesh_render_cache_uvt
++  p2tr_mesh_render_cache_uvt_exact
++  p2tr_mesh_render_f
++  p2tr_mesh_render_from_cache_b
++  p2tr_mesh_render_from_cache_f
++  p2tr_mesh_unref
++  p2tr_point_edge_ccw
++  p2tr_point_edge_cw
++  p2tr_point_free
++  p2tr_point_get_edge_to
++  p2tr_point_get_mesh
++  p2tr_point_has_constrained_edge
++  p2tr_point_has_edge_to
++  p2tr_point_is_fully_in_domain
++  p2tr_point_new
++  p2tr_point_new2
++  p2tr_point_ref
++  p2tr_point_remove
++  p2tr_point_unref
++  p2tr_pslg_add_existing_line
++  p2tr_pslg_add_new_line
++  p2tr_pslg_contains_line
++  p2tr_pslg_free
++  p2tr_pslg_iter_init
++  p2tr_pslg_iter_next
++  p2tr_pslg_new
++  p2tr_pslg_size
++  p2tr_refiner_false_too_big
++  p2tr_refiner_free
++  p2tr_refiner_new
++  p2tr_refiner_refine
++  p2tr_triangle_circumcircle_contains_point
++  p2tr_triangle_contains_point
++  p2tr_triangle_contains_point2
++  p2tr_triangle_free
++  p2tr_triangle_get_angle_at
++  p2tr_triangle_get_circum_circle
++  p2tr_triangle_get_mesh
++  p2tr_triangle_get_opposite_edge
++  p2tr_triangle_get_opposite_point
++  p2tr_triangle_is_removed
++  p2tr_triangle_new
++  p2tr_triangle_ref
++  p2tr_triangle_remove
++  p2tr_triangle_smallest_non_constrained_angle
++  p2tr_triangle_unref
++  p2tr_utils_new_reversed_pointer_list
++  p2tr_vector2_center
++  p2tr_vector2_copy
++  p2tr_vector2_dot
++  p2tr_vector2_is_same
++  p2tr_vector2_norm
++  p2tr_vector2_sub
++  p2tr_vedge_create
++  p2tr_vedge_free
++  p2tr_vedge_get
++  p2tr_vedge_get_mesh
++  p2tr_vedge_is_real
++  p2tr_vedge_new
++  p2tr_vedge_new2
++  p2tr_vedge_ref
++  p2tr_vedge_remove
++  p2tr_vedge_set_add
++  p2tr_vedge_set_add2
++  p2tr_vedge_set_free
++  p2tr_vedge_set_new
++  p2tr_vedge_set_pop
++  p2tr_vedge_set_size
++  p2tr_vedge_try_get_and_unref
++  p2tr_vedge_undirected_equals
++  p2tr_vedge_undirected_hash
++  p2tr_vedge_unref
++  p2tr_visibility_is_visible_from_edges
++  p2tr_vtriangle_create
++  p2tr_vtriangle_free
++  p2tr_vtriangle_get
++  p2tr_vtriangle_get_mesh
++  p2tr_vtriangle_is_real
++  p2tr_vtriangle_new
++  p2tr_vtriangle_ref
++  p2tr_vtriangle_remove
++  p2tr_vtriangle_unref
+diff --git a/seamless-clone/gegl-sc.def b/seamless-clone/gegl-sc.def
+index 276a195e8..194d2ec46 100644
+--- a/seamless-clone/gegl-sc.def
++++ b/seamless-clone/gegl-sc.def
+@@ -1,5 +1,4 @@
+ EXPORTS
+-  AdvancingFront_set_head
+   gegl_sc_context_free
+   gegl_sc_context_new
+   gegl_sc_context_prepare_render
+@@ -16,314 +15,4 @@ EXPORTS
+   gegl_sc_sample_list_compute
+   gegl_sc_sample_list_direct
+   gegl_sc_sample_list_free
+-  p2t_advancingfront_destroy
+-  p2t_advancingfront_find_search_node
+-  p2t_advancingfront_free
+-  p2t_advancingfront_head
+-  p2t_advancingfront_init
+-  p2t_advancingfront_locate_node
+-  p2t_advancingfront_locate_point
+-  p2t_advancingfront_new
+-  p2t_advancingfront_search
+-  p2t_advancingfront_set_search
+-  p2t_advancingfront_set_tail
+-  p2t_advancingfront_tail
+-  p2t_cdt_add_hole
+-  p2t_cdt_add_point
+-  p2t_cdt_destroy
+-  p2t_cdt_free
+-  p2t_cdt_get_map
+-  p2t_cdt_get_triangles
+-  p2t_cdt_init
+-  p2t_cdt_new
+-  p2t_cdt_triangulate
+-  p2t_edge_destroy
+-  p2t_edge_free
+-  p2t_edge_init
+-  p2t_edge_new
+-  p2t_node_destroy
+-  p2t_node_free
+-  p2t_node_init_pt
+-  p2t_node_init_pt_tr
+-  p2t_node_new_pt
+-  p2t_node_new_pt_tr
+-  p2t_orient2d
+-  p2t_point_cmp
+-  p2t_point_destroy
+-  p2t_point_equals
+-  p2t_point_free
+-  p2t_point_init
+-  p2t_point_init_dd
+-  p2t_point_new
+-  p2t_point_new_dd
+-  p2t_sweep_angle
+-  p2t_sweep_angle_exceeds_90_degrees
+-  p2t_sweep_angle_exceeds_plus_90_degrees_or_is_negative
+-  p2t_sweep_basin_angle
+-  p2t_sweep_destroy
+-  p2t_sweep_edge_event_ed_n
+-  p2t_sweep_edge_event_pt_pt_tr_pt
+-  p2t_sweep_fill
+-  p2t_sweep_fill_advancingfront
+-  p2t_sweep_fill_basin
+-  p2t_sweep_fill_basin_req
+-  p2t_sweep_fill_edge_event
+-  p2t_sweep_fill_left_above_edge_event
+-  p2t_sweep_fill_left_below_edge_event
+-  p2t_sweep_fill_left_concave_edge_event
+-  p2t_sweep_fill_left_convex_edge_event
+-  p2t_sweep_fill_right_above_edge_event
+-  p2t_sweep_fill_right_below_edge_event
+-  p2t_sweep_fill_right_concave_edge_event
+-  p2t_sweep_fill_right_convex_edge_event
+-  p2t_sweep_finalization_polygon
+-  p2t_sweep_flip_edge_event
+-  p2t_sweep_flip_scan_edge_event
+-  p2t_sweep_free
+-  p2t_sweep_hole_angle
+-  p2t_sweep_incircle
+-  p2t_sweep_init
+-  p2t_sweep_is_edge_side_of_triangle
+-  p2t_sweep_is_shallow
+-  p2t_sweep_large_hole_dont_fill
+-  p2t_sweep_legalize
+-  p2t_sweep_new
+-  p2t_sweep_new_front_triangle
+-  p2t_sweep_next_flip_point
+-  p2t_sweep_next_flip_triangle
+-  p2t_sweep_point_event
+-  p2t_sweep_rotate_triangle_pair
+-  p2t_sweep_sweep_points
+-  p2t_sweep_triangulate
+-  p2t_sweepcontext_add_hole
+-  p2t_sweepcontext_add_point
+-  p2t_sweepcontext_add_to_map
+-  p2t_sweepcontext_basin_clear
+-  p2t_sweepcontext_basin_init
+-  p2t_sweepcontext_create_advancingfront
+-  p2t_sweepcontext_delete
+-  p2t_sweepcontext_destroy
+-  p2t_sweepcontext_edgeevent_init
+-  p2t_sweepcontext_front
+-  p2t_sweepcontext_get_map
+-  p2t_sweepcontext_get_point
+-  p2t_sweepcontext_get_triangles
+-  p2t_sweepcontext_head
+-  p2t_sweepcontext_init
+-  p2t_sweepcontext_init_edges
+-  p2t_sweepcontext_init_triangulation
+-  p2t_sweepcontext_locate_node
+-  p2t_sweepcontext_map_triangle_to_nodes
+-  p2t_sweepcontext_mesh_clean
+-  p2t_sweepcontext_new
+-  p2t_sweepcontext_point_count
+-  p2t_sweepcontext_remove_from_map
+-  p2t_sweepcontext_remove_node
+-  p2t_sweepcontext_set_head
+-  p2t_sweepcontext_set_tail
+-  p2t_sweepcontext_tail
+-  p2t_triangle_clear
+-  p2t_triangle_clear_delunay_edges
+-  p2t_triangle_clear_neighbor_tr
+-  p2t_triangle_clear_neighbors
+-  p2t_triangle_contains_ed
+-  p2t_triangle_contains_pt
+-  p2t_triangle_contains_pt_pt
+-  p2t_triangle_debug_print
+-  p2t_triangle_edge_index
+-  p2t_triangle_get_constrained_edge_ccw
+-  p2t_triangle_get_constrained_edge_cw
+-  p2t_triangle_get_delunay_edge_ccw
+-  p2t_triangle_get_delunay_edge_cw
+-  p2t_triangle_get_neighbor
+-  p2t_triangle_get_point
+-  p2t_triangle_index
+-  p2t_triangle_init
+-  p2t_triangle_is_interior
+-  p2t_triangle_is_interior_b
+-  p2t_triangle_legalize_pt
+-  p2t_triangle_legalize_pt_pt
+-  p2t_triangle_mark_constrained_edge_ed
+-  p2t_triangle_mark_constrained_edge_i
+-  p2t_triangle_mark_constrained_edge_pt_pt
+-  p2t_triangle_mark_neighbor_pt_pt_tr
+-  p2t_triangle_mark_neighbor_tr
+-  p2t_triangle_neighbor_across
+-  p2t_triangle_neighbor_ccw
+-  p2t_triangle_neighbor_cw
+-  p2t_triangle_new
+-  p2t_triangle_opposite_point
+-  p2t_triangle_point_ccw
+-  p2t_triangle_point_cw
+-  p2t_triangle_set_constrained_edge_ccw
+-  p2t_triangle_set_constrained_edge_cw
+-  p2t_triangle_set_delunay_edge_ccw
+-  p2t_triangle_set_delunay_edge_cw
+-  p2t_utils_in_scan_area
+-  p2tr_bounded_line_free
+-  p2tr_bounded_line_init
+-  p2tr_bounded_line_intersect
+-  p2tr_bounded_line_new
+-  p2tr_cdt_flip_fix
+-  p2tr_cdt_free
+-  p2tr_cdt_free_full
+-  p2tr_cdt_get_segments_encroached_by
+-  p2tr_cdt_insert_point
+-  p2tr_cdt_insert_point_into_triangle
+-  p2tr_cdt_is_encroached
+-  p2tr_cdt_is_encroached_by
+-  p2tr_cdt_new
+-  p2tr_cdt_split_edge
+-  p2tr_cdt_test_encroachment_ignore_visibility
+-  p2tr_cdt_validate_cdt
+-  p2tr_cdt_validate_edges
+-  p2tr_cdt_validate_unused
+-  p2tr_cdt_visible_from_edge
+-  p2tr_circle_test_point_outside
+-  p2tr_cluster_free
+-  p2tr_cluster_get_for
+-  p2tr_cluster_shortest_edge_length
+-  p2tr_dt_free
+-  p2tr_dt_new
+-  p2tr_dt_refine
+-  p2tr_edge_angle_between
+-  p2tr_edge_angle_between_positive
+-  p2tr_edge_free
+-  p2tr_edge_get_diametral_circle
+-  p2tr_edge_get_length
+-  p2tr_edge_get_length_squared
+-  p2tr_edge_get_mesh
+-  p2tr_edge_is_removed
+-  p2tr_edge_new
+-  p2tr_edge_ref
+-  p2tr_edge_remove
+-  p2tr_edge_unref
+-  p2tr_line_different_sides
+-  p2tr_line_init
+-  p2tr_line_intersection
+-  p2tr_math_diametral_circle_contains
+-  p2tr_math_diametral_lens_contains
+-  p2tr_math_incircle
+-  p2tr_math_intriangle
+-  p2tr_math_intriangle2
+-  p2tr_math_length_sq
+-  p2tr_math_length_sq2
+-  p2tr_math_orient2d
+-  p2tr_math_triangle_barcycentric
+-  p2tr_math_triangle_circumcircle
+-  p2tr_mesh_action_del_edge
+-  p2tr_mesh_action_del_point
+-  p2tr_mesh_action_del_triangle
+-  p2tr_mesh_action_free
+-  p2tr_mesh_action_group_begin
+-  p2tr_mesh_action_group_commit
+-  p2tr_mesh_action_group_undo
+-  p2tr_mesh_action_new_edge
+-  p2tr_mesh_action_new_point
+-  p2tr_mesh_action_new_triangle
+-  p2tr_mesh_action_ref
+-  p2tr_mesh_action_undo
+-  p2tr_mesh_action_unref
+-  p2tr_mesh_add_edge
+-  p2tr_mesh_add_point
+-  p2tr_mesh_add_triangle
+-  p2tr_mesh_clear
+-  p2tr_mesh_find_point
+-  p2tr_mesh_find_point2
+-  p2tr_mesh_find_point_local
+-  p2tr_mesh_find_point_local2
+-  p2tr_mesh_free
+-  p2tr_mesh_get_bounds
+-  p2tr_mesh_new
+-  p2tr_mesh_new_edge
+-  p2tr_mesh_new_or_existing_edge
+-  p2tr_mesh_new_point
+-  p2tr_mesh_new_point2
+-  p2tr_mesh_new_triangle
+-  p2tr_mesh_on_edge_removed
+-  p2tr_mesh_on_point_removed
+-  p2tr_mesh_on_triangle_removed
+-  p2tr_mesh_ref
+-  p2tr_mesh_render_b
+-  p2tr_mesh_render_cache_uvt
+-  p2tr_mesh_render_cache_uvt_exact
+-  p2tr_mesh_render_f
+-  p2tr_mesh_render_from_cache_b
+-  p2tr_mesh_render_from_cache_f
+-  p2tr_mesh_unref
+-  p2tr_point_edge_ccw
+-  p2tr_point_edge_cw
+-  p2tr_point_free
+-  p2tr_point_get_edge_to
+-  p2tr_point_get_mesh
+-  p2tr_point_has_constrained_edge
+-  p2tr_point_has_edge_to
+-  p2tr_point_is_fully_in_domain
+-  p2tr_point_new
+-  p2tr_point_new2
+-  p2tr_point_ref
+-  p2tr_point_remove
+-  p2tr_point_unref
+-  p2tr_pslg_add_existing_line
+-  p2tr_pslg_add_new_line
+-  p2tr_pslg_contains_line
+-  p2tr_pslg_free
+-  p2tr_pslg_iter_init
+-  p2tr_pslg_iter_next
+-  p2tr_pslg_new
+-  p2tr_pslg_size
+-  p2tr_refiner_false_too_big
+-  p2tr_refiner_free
+-  p2tr_refiner_new
+-  p2tr_refiner_refine
+-  p2tr_triangle_circumcircle_contains_point
+-  p2tr_triangle_contains_point
+-  p2tr_triangle_contains_point2
+-  p2tr_triangle_free
+-  p2tr_triangle_get_angle_at
+-  p2tr_triangle_get_circum_circle
+-  p2tr_triangle_get_mesh
+-  p2tr_triangle_get_opposite_edge
+-  p2tr_triangle_get_opposite_point
+-  p2tr_triangle_is_removed
+-  p2tr_triangle_new
+-  p2tr_triangle_ref
+-  p2tr_triangle_remove
+-  p2tr_triangle_smallest_non_constrained_angle
+-  p2tr_triangle_unref
+-  p2tr_utils_new_reversed_pointer_list
+-  p2tr_vector2_center
+-  p2tr_vector2_copy
+-  p2tr_vector2_dot
+-  p2tr_vector2_is_same
+-  p2tr_vector2_norm
+-  p2tr_vector2_sub
+-  p2tr_vedge_create
+-  p2tr_vedge_free
+-  p2tr_vedge_get
+-  p2tr_vedge_get_mesh
+-  p2tr_vedge_is_real
+-  p2tr_vedge_new
+-  p2tr_vedge_new2
+-  p2tr_vedge_ref
+-  p2tr_vedge_remove
+-  p2tr_vedge_set_add
+-  p2tr_vedge_set_add2
+-  p2tr_vedge_set_free
+-  p2tr_vedge_set_new
+-  p2tr_vedge_set_pop
+-  p2tr_vedge_set_size
+-  p2tr_vedge_try_get_and_unref
+-  p2tr_vedge_undirected_equals
+-  p2tr_vedge_undirected_hash
+-  p2tr_vedge_unref
+-  p2tr_visibility_is_visible_from_edges
+-  p2tr_vtriangle_create
+-  p2tr_vtriangle_free
+-  p2tr_vtriangle_get
+-  p2tr_vtriangle_get_mesh
+-  p2tr_vtriangle_is_real
+-  p2tr_vtriangle_new
+-  p2tr_vtriangle_ref
+-  p2tr_vtriangle_remove
+-  p2tr_vtriangle_unref
++ at p2t_exports@
+diff --git a/seamless-clone/meson.build b/seamless-clone/meson.build
+index bc1d8ac9f..f472cfea4 100644
+--- a/seamless-clone/meson.build
++++ b/seamless-clone/meson.build
+@@ -14,11 +14,18 @@ seamlessclone_headers = [
+   'sc-sample.h',
+ ]
+ 
++gegl_sc_def_conf = {}
++if poly2tri_c.type_name() == 'internal'
++  gegl_sc_def_conf += { 'p2t_exports' : fs.read('gegl-p2t.def') }
++else
++  gegl_sc_def_conf += { 'p2t_exports' : '' }
++endif
++
+ #Needed otherwise defcheck.py fails
+ gegl_sc_def = configure_file(
+   input: 'gegl-sc.def',
+   output: 'gegl-sc.def',
+-  copy: true
++  configuration: gegl_sc_def_conf
+ )
+ 
+ seamlessclone_lib = library('gegl-sc-' + api_version,
+-- 
+2.52.0
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gegl.git/commitdiff/a37370d7fddfe0e127d34b40931245411ae6c19a



More information about the pld-cvs-commit mailing list