Index: Regexp-Keep-0.02/Keep.xs
--- Regexp-Keep-0.02/Keep.xs.orig	2004-05-07 19:23:36.000000000 +0200
+++ Regexp-Keep-0.02/Keep.xs	2012-05-31 23:12:35.000000000 +0200
@@ -11,4 +11,4 @@
 KEEP()
     PROTOTYPE:
     CODE:
-	PL_regstartp[0] = PL_reginput - PL_bostr;
+	PL_reg_state.re_state_regoffs[0].start = PL_reginput - PL_bostr;
Index: re-engine-PCRE-0.17/Makefile.PL
--- re-engine-PCRE-0.17/Makefile.PL.orig	2011-01-29 13:12:53.000000000 +0100
+++ re-engine-PCRE-0.17/Makefile.PL	2012-05-31 23:12:35.000000000 +0200
@@ -18,9 +18,8 @@
   },
   'DISTNAME' => 're-engine-PCRE',
   'EXE_FILES' => [],
-  'LIBS' => [
-    '-lpcre'
-  ],
+  'INC'  => `pcre-config --cflags`,
+  'LIBS' => [ `pcre-config --libs` ],
   'LICENSE' => 'perl',
   'NAME' => 're::engine::PCRE',
   'PREREQ_PM' => {
Index: re-engine-RE2-0.18/Makefile.PL
--- re-engine-RE2-0.18/Makefile.PL.orig	2012-04-01 11:28:59.000000000 +0200
+++ re-engine-RE2-0.18/Makefile.PL	2012-05-31 23:12:35.000000000 +0200
@@ -4,14 +4,11 @@
 
 use Config;
 use ExtUtils::MakeMaker;
-use ExtUtils::CppGuess;
 
 # TODO: Optionally use system libre2, via ExtUtils::Liblist?
 
 my @objects = qw(RE2.o re2_xs.o re2/obj/libre2.a);
 
-my $guess = ExtUtils::CppGuess->new;
-
 my %opt = (
   NAME               => 're::engine::RE2',
   AUTHOR             => 'David Leadbeater <dgl@dgl.cx>',
@@ -26,7 +23,6 @@
     "ExtUtils::CppGuess" => 0,
     "Test::More"         => 0.88,
   },
-  $guess->makemaker_options
 );
 
 if(eval { ExtUtils::MakeMaker->VERSION(6.46) }) {
Index: re-engine-TRE-0.04/Makefile.PL
--- re-engine-TRE-0.04/Makefile.PL.orig	2008-02-18 12:11:31.000000000 +0100
+++ re-engine-TRE-0.04/Makefile.PL	2012-05-31 23:12:35.000000000 +0200
@@ -8,6 +8,6 @@
     ABSTRACT_FROM => 'TRE.pm',
     LICENSE       => 'perl',
     DIR           => [ 'tre' ],
-    INC           => '-Itre',
-    LDDLFLAGS     => '-shared tre/*.o',
+    INC           => `pkg-config tre --cflags`,
+    LDDLFLAGS     => [ `pkg-config tre --libs` ]
 );
