Package: goffice Version: 0.10.0-1 Severity: serious Tags: patch Justification: fails to build from source (but built successfully in the past) User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu raring ubuntu-patch
In Ubuntu, the attached patch was applied to achieve the following: * long_double_logic.patch: Fix ifdef logic around LONG_DOUBLE in goffice/math/go-cspline.c to fix FTBFS on ARM and MIPS arches. * long_double_logic.patch: Also remove LONG_DOUBLE-only symbols from docs/reference/goffice-0.10.types and wrap their header declarations with __GTK_DOC_IGNORE__ magic to fix doc builds. * Move some more LONG_DOUBLE-only symbols to symbols.longdouble. I suspect that what the patch does is reasonably self-explanatory, as it's just removing two long-double-only types from the doc generation, inverting a broken ifdef in go-spline.c, and moving some symbols from one file to another, but if you have any questions, do holler. This now builds on all arches in Ubuntu just fine (where it previously failed on armhf), so I suspect it should DTRT on armel, armhf, mips, and mipsel on Debian, where they all failed with the same errors. ... Adam -- System Information: Debian Release: wheezy/sid APT prefers raring-updates APT policy: (500, 'raring-updates'), (500, 'raring-security'), (500, 'raring') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.8.0-0-generic (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru goffice-0.10.0/debian/changelog goffice-0.10.0/debian/changelog diff -Nru goffice-0.10.0/debian/libgoffice-0.10-10.symbols goffice-0.10.0/debian/libgoffice-0.10-10.symbols --- goffice-0.10.0/debian/libgoffice-0.10-10.symbols 2012-12-19 05:28:58.000000000 -0700 +++ goffice-0.10.0/debian/libgoffice-0.10-10.symbols 2013-01-13 21:17:54.000000000 -0700 @@ -57,7 +57,6 @@ go_ascii_strcase_equal@Base 0.9.0 go_ascii_strcase_hash@Base 0.9.0 go_ascii_strtod@Base 0.9.0 - go_ascii_strtold@Base 0.9.0 go_atk_setup_label@Base 0.9.0 go_basename_from_uri@Base 0.9.0 go_bezier_spline_destroy@Base 0.9.0 @@ -159,7 +158,6 @@ go_complex_real_p@Base 0.9.0 go_complex_scale_real@Base 0.9.0 go_complex_sin@Base 0.9.0 - go_complex_sinl@Base 0.9.0 go_complex_sqrt@Base 0.9.0 go_complex_sub@Base 0.9.0 go_complex_tan@Base 0.9.0 @@ -414,7 +412,6 @@ go_error_system@Base 0.9.0 go_exponential_regression@Base 0.9.0 go_exponential_regression_as_log@Base 0.9.0 - go_exponential_regressionl@Base 0.9.0 go_fake_ceil@Base 0.9.0 go_fake_floor@Base 0.9.0 go_fake_round@Base 0.9.0 @@ -737,7 +734,6 @@ go_matrix3x3_to_euler@Base 0.9.0 go_matrix3x3_transform@Base 0.9.0 go_matrix_determinant@Base 0.9.0 - go_matrix_determinantl@Base 0.9.0 go_matrix_invert@Base 0.9.0 go_mem_chunk_alloc0@Base 0.9.0 go_mem_chunk_alloc@Base 0.9.0 @@ -1014,7 +1010,6 @@ go_string_unref@Base 0.9.0 go_strsplit_to_slist@Base 0.9.0 go_strtod@Base 0.9.0 - go_strtold@Base 0.9.0 go_strunescape@Base 0.9.0 go_style_apply_theme@Base 0.9.0 go_style_assign@Base 0.9.0 diff -Nru goffice-0.10.0/debian/libgoffice-0.10-10.symbols.longdouble goffice-0.10.0/debian/libgoffice-0.10-10.symbols.longdouble --- goffice-0.10.0/debian/libgoffice-0.10-10.symbols.longdouble 2012-10-28 10:52:39.000000000 -0600 +++ goffice-0.10.0/debian/libgoffice-0.10-10.symbols.longdouble 2013-01-13 21:18:16.000000000 -0700 @@ -8,6 +8,7 @@ go_accumulator_startl@Base 0.9.0 go_accumulator_valuel@Base 0.9.0 go_add_epsilonl@Base 0.9.0 + go_ascii_strtold@Base 0.9.0 go_complex_addl@Base 0.9.0 go_complex_angle_pil@Base 0.9.0 go_complex_anglel@Base 0.9.0 @@ -27,6 +28,7 @@ go_complex_real_pl@Base 0.9.0 go_complex_reall@Base 0.9.0 go_complex_scale_reall@Base 0.9.0 + go_complex_sinl@Base 0.9.0 go_complex_sqrtl@Base 0.9.0 go_complex_subl@Base 0.9.0 go_complex_tanl@Base 0.9.0 @@ -53,6 +55,7 @@ go_dnorml@Base 0.9.0 go_dweibulll@Base 0.9.0 go_exponential_regression_as_logl@Base 0.9.0 + go_exponential_regressionl@Base 0.9.0 go_fake_ceill@Base 0.9.0 go_fake_floorl@Base 0.9.0 go_fake_roundl@Base 0.9.0 @@ -66,6 +69,7 @@ go_linear_solvel@Base 0.9.0 go_logarithmic_fitl@Base 0.9.0 go_logarithmic_regressionl@Base 0.9.0 + go_matrix_determinantl@Base 0.9.0 go_matrix_invertl@Base 0.9.0 go_nanl@Base 0.9.0 go_ninfl@Base 0.9.0 @@ -116,6 +120,7 @@ go_regression_stat_newl@Base 0.9.0 go_regression_statl_get_type@Base 0.9.6 go_render_generall@Base 0.9.0 + go_strtold@Base 0.9.0 go_sub_epsilonl@Base 0.9.0 go_truncl@Base 0.9.0 go_range_maxl@Base 0.9.0 diff -Nru goffice-0.10.0/debian/patches/long_double_logic.patch goffice-0.10.0/debian/patches/long_double_logic.patch --- goffice-0.10.0/debian/patches/long_double_logic.patch 1969-12-31 17:00:00.000000000 -0700 +++ goffice-0.10.0/debian/patches/long_double_logic.patch 2013-01-13 20:38:13.000000000 -0700 @@ -0,0 +1,79 @@ +Description: Fix issues with non-long-double builds + * long_double_logic.patch: Fix ifdef logic around LONG_DOUBLE in + goffice/math/go-cspline.c to fix FTBFS on ARM and MIPS arches. + * long_double_logic.patch: Also remove LONG_DOUBLE-only symbols + from docs/reference/goffice-0.10.types and wrap their header + declarations with __GTK_DOC_IGNORE__ magic to fix doc builds. +Author: Adam Conrad <adcon...@ubuntu.com> +Forwarded: no + +Index: goffice-0.10.0/goffice/math/go-cspline.c +=================================================================== +--- goffice-0.10.0.orig/goffice/math/go-cspline.c 2013-01-13 20:33:59.798064149 -0700 ++++ goffice-0.10.0/goffice/math/go-cspline.c 2013-01-13 20:33:59.790064148 -0700 +@@ -228,7 +228,7 @@ + } + + GType +-#ifdef LONG_DOUBLE ++#ifndef LONG_DOUBLE + go_cspline_get_type (void) + #else + go_csplinel_get_type (void) +@@ -238,7 +238,7 @@ + + if (t == 0) { + t = g_boxed_type_register_static ( +-#ifdef LONG_DOUBLE ++#ifndef LONG_DOUBLE + "GOCSpline", + #else + "GOCSplinel", +Index: goffice-0.10.0/docs/reference/goffice-0.10.types +=================================================================== +--- goffice-0.10.0.orig/docs/reference/goffice-0.10.types 2013-01-13 20:33:59.798064149 -0700 ++++ goffice-0.10.0/docs/reference/goffice-0.10.types 2013-01-13 20:33:59.794064148 -0700 +@@ -17,7 +17,6 @@ + go_component_mime_dialog_get_type + go_conf_node_get_type + go_cspline_get_type +-go_csplinel_get_type + go_data_get_type + go_data_matrix_get_type + go_data_matrix_val_get_type +@@ -73,7 +72,6 @@ + go_plugin_service_resource_get_type + go_plugin_service_simple_get_type + go_regression_stat_get_type +-go_regression_statl_get_type + go_resource_type_get_type + go_rotation_sel_get_type + go_search_replace_get_type +Index: goffice-0.10.0/goffice/math/go-cspline.h +=================================================================== +--- goffice-0.10.0.orig/goffice/math/go-cspline.h 2012-08-21 20:02:40.000000000 -0600 ++++ goffice-0.10.0/goffice/math/go-cspline.h 2013-01-13 20:35:06.166065200 -0700 +@@ -62,7 +62,9 @@ + unsigned ref_count; + }; + ++#ifndef __GTK_DOC_IGNORE__ + GType go_csplinel_get_type (void); ++#endif + GOCSplinel *go_cspline_initl (long double const *x, long double const *y, int n, + unsigned limits, long double a0, long double a1); + void go_cspline_destroyl (GOCSplinel *sp); +Index: goffice-0.10.0/goffice/math/go-regression.h +=================================================================== +--- goffice-0.10.0.orig/goffice/math/go-regression.h 2012-08-21 20:02:40.000000000 -0600 ++++ goffice-0.10.0/goffice/math/go-regression.h 2013-01-13 20:36:22.238066405 -0700 +@@ -134,7 +134,9 @@ + } go_regression_stat_tl; + #define GORegressionStatl go_regression_stat_tl + ++#ifndef __GTK_DOC_IGNORE__ + GType go_regression_statl_get_type (void); ++#endif + go_regression_stat_tl *go_regression_stat_newl (void); + void go_regression_stat_destroyl (go_regression_stat_tl *stat_); + diff -Nru goffice-0.10.0/debian/patches/series goffice-0.10.0/debian/patches/series --- goffice-0.10.0/debian/patches/series 2012-12-19 05:10:40.000000000 -0700 +++ goffice-0.10.0/debian/patches/series 2013-01-13 16:28:03.000000000 -0700 @@ -0,0 +1 @@ +long_double_logic.patch