diff --git a/textproc/xmlroff/Makefile b/textproc/xmlroff/Makefile index eb2d94cdcf4d..afcc6aa82a40 100644 --- a/textproc/xmlroff/Makefile +++ b/textproc/xmlroff/Makefile @@ -7,6 +7,7 @@ PORTNAME= xmlroff PORTVERSION= 0.3.0 +PORTREVISION= 1 CATEGORIES= textproc MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} @@ -18,7 +19,7 @@ LIB_DEPENDS= pangoxsl-1.0.600:${PORTSDIR}/x11-toolkits/pangoxsl USE_X_PREFIX= yes USE_GMAKE= yes -USE_GNOME= gnomehack gnometarget libgnomeprint +USE_GNOME= gnomehack gnometarget libgnomeprint libxslt INSTALLS_SHLIB= yes USE_LIBTOOL_VER=15 CONFIGURE_ARGS= --disable-gtk-doc \ diff --git a/textproc/xmlroff/files/patch-area::fo-area-layout.c b/textproc/xmlroff/files/patch-area::fo-area-layout.c new file mode 100644 index 000000000000..75e0a7b8f3f9 --- /dev/null +++ b/textproc/xmlroff/files/patch-area::fo-area-layout.c @@ -0,0 +1,33 @@ +--- area/fo-area-layout.c.orig Mon Jan 10 13:51:32 2005 ++++ area/fo-area-layout.c Mon Jan 10 13:52:41 2005 +@@ -543,6 +543,7 @@ + PANGO_SCALE - line_first_pre_height) || + line_index == pre_widow_max - 1) + { ++ gboolean retain_padding_before; + #if defined(LIBFO_DEBUG) && 0 + g_message ("layout_split_before_height:: Break:: line: %d", + line_index); +@@ -558,7 +559,7 @@ + 0.0); + fo_area_area_set_border_before (new_area, + 0.0); +- gboolean retain_padding_before = ++ retain_padding_before = + fo_length_cond_get_condity (fo_property_get_value (fo_block_get_padding_before (area->generated_by))); + + if (!retain_padding_before) +@@ -824,10 +825,12 @@ + fo_area_layout_get_line_height (FoArea *fo_area_layout, + gint line_number) + { ++ FoAreaLayout *layout; ++ + g_return_val_if_fail (fo_area_layout != NULL, 0.0); + g_return_val_if_fail (FO_IS_AREA_LAYOUT (fo_area_layout), 0.0); + +- FoAreaLayout *layout = FO_AREA_LAYOUT (fo_area_layout); ++ layout = FO_AREA_LAYOUT (fo_area_layout); + + return + (gdouble) GPOINTER_TO_INT (g_slist_nth_data (layout->line_heights, diff --git a/textproc/xmlroff/files/patch-datatype::fo-enum.c b/textproc/xmlroff/files/patch-datatype::fo-enum.c new file mode 100644 index 000000000000..7419dcede492 --- /dev/null +++ b/textproc/xmlroff/files/patch-datatype::fo-enum.c @@ -0,0 +1,47 @@ +--- datatype/fo-enum.c.orig Mon Jan 10 13:55:20 2005 ++++ datatype/fo-enum.c Mon Jan 10 13:56:26 2005 +@@ -400,6 +400,8 @@ + void + fo_enum_class_init (FoEnumClass *klass) + { ++ int i; ++ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); +@@ -413,7 +415,6 @@ + + FO_DATATYPE_CLASS (klass)->copy = fo_enum_copy; + +- int i; + for (i = 0; i < FO_ENUM_ENUM_LIMIT; i++) + { + enums[i] = NULL; +@@ -708,10 +709,12 @@ + FoDatatype * + fo_enum_get_enum_by_value (FoEnumEnum enum_value) + { ++ GEnumValue *enum_ptr; ++ + g_return_val_if_fail (enum_value > FO_ENUM_ENUM_UNSPECIFIED, NULL); + g_return_val_if_fail (enum_value < FO_ENUM_ENUM_LIMIT, NULL); + +- GEnumValue *enum_ptr = ++ enum_ptr = + g_enum_get_value (g_type_class_ref (FO_TYPE_ENUM_ENUM), + enum_value); + +@@ -748,10 +751,12 @@ + FoDatatype * + fo_enum_get_enum_by_nick (const gchar *name) + { ++ GEnumValue *enum_ptr; ++ + g_return_val_if_fail (name != NULL, NULL); + g_return_val_if_fail (*name != '\0', NULL); + +- GEnumValue *enum_ptr = ++ enum_ptr = + g_enum_get_value_by_nick (g_type_class_ref (FO_TYPE_ENUM_ENUM), + name); + diff --git a/textproc/xmlroff/files/patch-expr::fo-expr-eval.c b/textproc/xmlroff/files/patch-expr::fo-expr-eval.c new file mode 100644 index 000000000000..e8214801276d --- /dev/null +++ b/textproc/xmlroff/files/patch-expr::fo-expr-eval.c @@ -0,0 +1,66 @@ +--- expr/fo-expr-eval.c.orig Mon Jan 10 13:58:52 2005 ++++ expr/fo-expr-eval.c Mon Jan 10 14:02:29 2005 +@@ -1244,14 +1244,22 @@ + static void + eval_padding_expr (FoExprContext *context) + { ++ gchar *name; ++ + fo_expr_context_skip_blanks (context); + +- gchar *name = parse_ncname (context); ++ name = parse_ncname (context); + + if (name == NULL) + { + /* If not a name, then one to four values. */ + ++ FoDatatype *result_datatype; ++ FoDatatype *stack_first; ++ FoDatatype *stack_second; ++ FoDatatype *stack_third; ++ FoDatatype *stack_fourth; ++ + do + { + FoDatatype *intermediate_value = NULL; +@@ -1349,10 +1357,10 @@ + * A fifth entry on the stack indicates an error. + */ + +- FoDatatype *result_datatype = NULL; ++ result_datatype = NULL; + + /* First stack entry */ +- FoDatatype *stack_first = fo_expr_context_pop_stack (context); ++ stack_first = fo_expr_context_pop_stack (context); + + /* Handle possible conditions for top stack entry. */ + if (stack_first == NULL) +@@ -1371,7 +1379,7 @@ + } + + /* Second stack entry */ +- FoDatatype *stack_second = fo_expr_context_pop_stack (context); ++ stack_second = fo_expr_context_pop_stack (context); + + /* Handle possible conditions for second stack entry. */ + if (stack_second == NULL) +@@ -1391,7 +1399,7 @@ + } + + /* third stack entry */ +- FoDatatype *stack_third = fo_expr_context_pop_stack (context); ++ stack_third = fo_expr_context_pop_stack (context); + + /* Handle possible conditions for third stack entry. */ + if (stack_third == NULL) +@@ -1411,7 +1419,7 @@ + } + + /* fourth stack entry */ +- FoDatatype *stack_fourth = fo_expr_context_pop_stack (context); ++ stack_fourth = fo_expr_context_pop_stack (context); + + /* Handle possible conditions for fourth stack entry. */ + if (stack_fourth == NULL) diff --git a/textproc/xmlroff/files/patch-fo-context-util.c b/textproc/xmlroff/files/patch-fo-context-util.c new file mode 100644 index 000000000000..6e977867231b --- /dev/null +++ b/textproc/xmlroff/files/patch-fo-context-util.c @@ -0,0 +1,23 @@ +--- fo-context-util.c.orig Mon Jan 10 14:05:08 2005 ++++ fo-context-util.c Mon Jan 10 14:05:42 2005 +@@ -922,6 +922,8 @@ + FoContextPropertyFunc absolute_func; + FoContextPropertyFunc relative_func; + FoDatatype *shorthand_component; ++ FoDatatype *padding_tblr; ++ FoProperty *padding; + + g_return_if_fail (current_context != NULL); + g_return_if_fail (parent_context != NULL); +@@ -933,9 +935,9 @@ + 0); + */ + +- FoDatatype *padding_tblr = NULL; ++ padding_tblr = NULL; + +- FoProperty *padding = fo_context_get_padding (current_context); ++ padding = fo_context_get_padding (current_context); + + if (padding != NULL) + { diff --git a/textproc/xmlroff/files/patch-libfo::fo-doc-gp.c b/textproc/xmlroff/files/patch-libfo::fo-doc-gp.c new file mode 100644 index 000000000000..9fedac71a901 --- /dev/null +++ b/textproc/xmlroff/files/patch-libfo::fo-doc-gp.c @@ -0,0 +1,40 @@ +--- libfo/fo-doc-gp.c.orig Mon Jan 10 13:49:31 2005 ++++ libfo/fo-doc-gp.c Mon Jan 10 13:50:19 2005 +@@ -1065,6 +1065,9 @@ + gfloat x, + gfloat y) + { ++ gfloat x1, x2, y1, y2; ++ gint line_first, line_last; ++ + g_return_if_fail (FO_IS_DOC_GP (fo_doc)); + g_return_if_fail (FO_DOC_GP (fo_doc)->context != NULL); + g_return_if_fail (FO_IS_AREA_LAYOUT (area_layout)); +@@ -1076,9 +1079,9 @@ + * lines that are to be rendered. + */ + +- gfloat y1 = y; ++ y1 = y; + +- gint line_first = fo_area_layout_get_line_first (area_layout); ++ line_first = fo_area_layout_get_line_first (area_layout); + if (line_first > 0) + { + y1 = +@@ -1086,12 +1089,12 @@ + line_first - 1); + } + +- gint line_last = fo_area_layout_get_line_last (area_layout); +- gfloat y2 = ++ line_last = fo_area_layout_get_line_last (area_layout); ++ y2 = + y1 - fo_area_layout_get_line_height (area_layout, + line_last); + +- gfloat x2 = ++ x2 = + x + fo_area_area_get_width (area_layout); + + gnome_print_gsave (FO_DOC_GP(fo_doc)->context); diff --git a/textproc/xmlroff/files/patch-result-to-fo.c b/textproc/xmlroff/files/patch-result-to-fo.c new file mode 100644 index 000000000000..eb370173aa7b --- /dev/null +++ b/textproc/xmlroff/files/patch-result-to-fo.c @@ -0,0 +1,22 @@ +--- result-to-fo.c.orig Mon Jan 10 14:56:38 2005 ++++ result-to-fo.c Mon Jan 10 14:57:14 2005 +@@ -852,6 +852,8 @@ + while (iterator) + { + FoProperty *property = NULL; ++ FoPropertyClass *property_class = NULL; ++ FoTypeFunc type_func; + + if (strcmp (xslAttrListIteratorName (iterator), "font-size") == 0 || + (FO_IS_TABLE_CELL (fo_fo) && +@@ -872,8 +874,8 @@ + } + } + +- FoPropertyClass *property_class = NULL; +- FoTypeFunc type_func = ++ property_class = NULL; ++ type_func = + g_hash_table_lookup (prop_eval_hash, + xslAttrListIteratorName (iterator)); +