From 69984a8dbd2553d5a3c504c0f945b955d243380f Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Wed, 28 Mar 2018 19:48:34 +1300
Subject: Remove all of the automatic INI generation code.

As this will be handled by Gentoo outside the install phase anyway.

Bug: https://bugs.gentoo.org/168988
---
 Makefile.PL | 40 ----------------------------------------
 1 file changed, 40 deletions(-)

diff --git a/Makefile.PL b/Makefile.PL
index b0b09c7..78c5f3b 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -12,43 +12,3 @@ WriteMakefile(
         'XML::NamespaceSupport' => 0.03,
     },    
 );
-
-sub MY::install {
-    package MY;
-    my $script = shift->SUPER::install(@_);
-
-    # Only modify existing ParserDetails.ini if user agrees
-
-    my $write_ini_ok = 0;
-
-    eval { require XML::SAX };
-    if ($@) {
-        $write_ini_ok = 1;
-    }
-    else {
-        my $dir = File::Basename::dirname($INC{'XML/SAX.pm'});
-        if (-e File::Spec->catfile($dir, 'SAX', 'ParserDetails.ini')) {
-            $write_ini_ok =
-                ExtUtils::MakeMaker::prompt(
-                    "Do you want XML::SAX to alter ParserDetails.ini?", "Y"
-                ) =~ /^y/i;
-        }
-        else {
-            $write_ini_ok = 1;
-        }
-    }
-    
-    if ($write_ini_ok) {
-        $script =~ s/install :: (.*)$/install :: $1 install_sax_pureperl/m;
-        $script .= <<"INSTALL";
-
-install_sax_pureperl : pure_install
-\t\@\$(PERL) -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
-
-INSTALL
-
-    }
-
-    return $script;
-}
-
-- 
2.16.2

