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

Reply via email to