diff -Nurd XML-LibXML-2.0134.orig/Makefile.PL XML-LibXML-2.0134/Makefile.PL
--- XML-LibXML-2.0134.orig/Makefile.PL	2019-02-10 09:56:01.000000000 -0500
+++ XML-LibXML-2.0134/Makefile.PL	2021-05-31 06:28:54.000000000 -0400
@@ -104,7 +104,7 @@
 # -------------------------------------------------------------------------- #
 # read extra configurations from the commandline
 my %params;
-@params{qw(FORCE DEBUG DEFINE EXTRALIBDIR GDOME INC LIBS SKIP_SAX_INSTALL XMLPREFIX NO_THREADS LDFLAGS)}=();
+@params{qw(FORCE DEBUG DEFINE EXTRALIBDIR GDOME INC LIBS SKIP_SAX_INSTALL XMLPREFIX NO_THREADS LDFLAGS PERL)}=();
 
 @ARGV = grep {
   my ($key, $val) = split(/=/, $_, 2);
diff -Nurd XML-LibXML-2.0134.orig/t/35huge_mode.t XML-LibXML-2.0134/t/35huge_mode.t
--- XML-LibXML-2.0134.orig/t/35huge_mode.t	2016-05-30 05:01:59.000000000 -0400
+++ XML-LibXML-2.0134/t/35huge_mode.t	2024-01-25 02:18:27.000000000 -0500
@@ -29,41 +29,49 @@
 EOF
 
 my $evil_xml = <<'EOF';
-<?xml version="1.0"?>
-<!DOCTYPE lolz [
- <!ENTITY lol "lol">
- <!ENTITY lol1 "&lol;&lol;">
- <!ENTITY lol2 "&lol1;&lol1;">
- <!ENTITY lol3 "&lol2;&lol2;">
- <!ENTITY lol4 "&lol3;&lol3;">
- <!ENTITY lol5 "&lol4;&lol4;">
- <!ENTITY lol6 "&lol5;&lol5;">
- <!ENTITY lol7 "&lol6;&lol6;">
- <!ENTITY lol8 "&lol7;&lol7;">
- <!ENTITY lol9 "&lol8;&lol8;">
+<!DOCTYPE root [
+  <!ENTITY ha "Ha !">
+  <!ENTITY ha2 "&ha; &ha;">
+EOF
+
+foreach my $i (2 .. 47)
+{
+    $evil_xml .= sprintf(qq#  <!ENTITY ha%d "&ha%d; &ha%d;">\n#, $i+1, $i, $i);
+}
+
+$evil_xml .= <<'EOF';
 ]>
-<lolz>&lol9;</lolz>
+<root>&ha48;</root>
 EOF
 
-my($parser, $doc);
+my ($parser, $doc, $err);
 
 $parser = XML::LibXML->new;
 #$parser->set_option(huge => 0);
+# TEST
 ok(!$parser->get_option('huge'), "huge mode disabled by default");
 
 $doc = eval { $parser->parse_string($evil_xml); };
 
-isnt("$@", "", "exception thrown during parse");
-like($@, qr/entity.*loop/si, "exception refers to entity reference loop");
+$err = $@;
+
+# TEST
+isnt("$err", "", "exception thrown during parse");
+# TEST
+like($err, qr/entity/si, "exception refers to entity maximum loop (libxml2 <= 2.10) or depth (>= 2.11)");
 
 
 $parser = XML::LibXML->new;
 
 $doc = eval { $parser->parse_string($benign_xml); };
 
-is("$@", "", "no exception thrown during parse");
+$err = $@;
+
+# TEST
+is("$err", "", "no exception thrown during parse");
 
 my $body = $doc->findvalue( '/lolz' );
+# TEST
 is($body, 'haha', 'entity was parsed and expanded correctly');
 
 exit;