PyYAML/debian-big-endian-fix.patch

74 lines
2.6 KiB
Diff

pyyaml FTBFS on the s390x buildd. It seems this is due to using int
where the libyaml API uses size_t. I tested the attached patch in
zelenka.d.o's sid chroot, and at least the python2 build/test worked (it
failed with the same error as the buildd pre-patching).
Patch by Julien Cristau <jcristau@debian.org>
Add to the pyyaml package by Scott Kitterman <scott@kitterman.com>
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676536
Index: pyyaml-3.10/ext/_yaml.pxd
===================================================================
--- pyyaml-3.10.orig/ext/_yaml.pxd 2011-05-29 23:31:01.000000000 -0400
+++ pyyaml-3.10/ext/_yaml.pxd 2012-06-08 16:33:54.309407701 -0400
@@ -86,15 +86,15 @@
YAML_MAPPING_END_EVENT
ctypedef int yaml_read_handler_t(void *data, char *buffer,
- int size, int *size_read) except 0
+ size_t size, size_t *size_read) except 0
ctypedef int yaml_write_handler_t(void *data, char *buffer,
- int size) except 0
+ size_t size) except 0
ctypedef struct yaml_mark_t:
- int index
- int line
- int column
+ size_t index
+ size_t line
+ size_t column
ctypedef struct yaml_version_directive_t:
int major
int minor
@@ -113,7 +113,7 @@
char *suffix
ctypedef struct _yaml_token_scalar_data_t:
char *value
- int length
+ size_t length
yaml_scalar_style_t style
ctypedef struct _yaml_token_version_directive_data_t:
int major
@@ -152,7 +152,7 @@
char *anchor
char *tag
char *value
- int length
+ size_t length
int plain_implicit
int quoted_implicit
yaml_scalar_style_t style
Index: pyyaml-3.10/ext/_yaml.pyx
===================================================================
--- pyyaml-3.10.orig/ext/_yaml.pyx 2011-05-29 23:31:01.000000000 -0400
+++ pyyaml-3.10/ext/_yaml.pyx 2012-06-08 16:33:54.313409701 -0400
@@ -905,7 +905,7 @@
raise error
return 1
-cdef int input_handler(void *data, char *buffer, int size, int *read) except 0:
+cdef int input_handler(void *data, char *buffer, size_t size, size_t *read) except 0:
cdef CParser parser
parser = <CParser>data
if parser.stream_cache is None:
@@ -1515,7 +1515,7 @@
self.ascend_resolver()
return 1
-cdef int output_handler(void *data, char *buffer, int size) except 0:
+cdef int output_handler(void *data, char *buffer, size_t size) except 0:
cdef CEmitter emitter
emitter = <CEmitter>data
if emitter.dump_unicode == 0: