nixpkgs/pkgs/tools/audio/mpdcron/fix-canonicalize-conflict-with-glibc.patch
Manuel Frischknecht 37517db1de mpdcron: fix build by correcting a C function conflict in nokogiri
`nokogiri` defines a C function called `canonicalize` which conflicts
with another function defined in glibc. Upstream has fixed this
issue [1], but in a much newer version. And because the affected
file has changed since the merged patch [2], it isn't directly
applicable to the old gem version `mpdcron` depends on.

[1]: https://github.com/sparklemotion/nokogiri/issues/2105
[2]: 7a74cdbe45
2023-11-29 22:49:00 +01:00

23 lines
1.1 KiB
Diff

diff --git a/ext/nokogiri/xml_document.c b/ext/nokogiri/xml_document.c
index 1d2119c8..c1c87713 100644
--- a/ext/nokogiri/xml_document.c
+++ b/ext/nokogiri/xml_document.c
@@ -492,7 +492,7 @@ static int block_caller(void * ctx, xmlNodePtr _node, xmlNodePtr _parent)
* The block must return a non-nil, non-false value if the +obj+ passed in
* should be included in the canonicalized document.
*/
-static VALUE canonicalize(int argc, VALUE* argv, VALUE self)
+static VALUE nokogiri_xml_document_canonicalize(int argc, VALUE* argv, VALUE self)
{
VALUE mode;
VALUE incl_ns;
@@ -573,7 +573,7 @@ void init_xml_document()
rb_define_method(klass, "encoding", encoding, 0);
rb_define_method(klass, "encoding=", set_encoding, 1);
rb_define_method(klass, "version", version, 0);
- rb_define_method(klass, "canonicalize", canonicalize, -1);
+ rb_define_method(klass, "nokogiri_xml_document_canonicalize", canonicalize, -1);
rb_define_method(klass, "dup", duplicate_document, -1);
rb_define_method(klass, "url", url, 0);
rb_define_method(klass, "create_entity", create_entity, -1);