diff -urN ExtUtils-MakeMaker-6.30_01/lib/ExtUtils/MM_Any.pm ExtUtils-MakeMaker-6.30_02/lib/ExtUtils/MM_Any.pm
--- ExtUtils-MakeMaker-6.30_01/lib/ExtUtils/MM_Any.pm	2005-08-17 03:50:58.000000000 -0300
+++ ExtUtils-MakeMaker-6.30_02/lib/ExtUtils/MM_Any.pm	2006-08-24 15:58:54.000000000 -0300
@@ -757,7 +757,15 @@
     version: 1.1
 YAML
 
-    $meta .= $self->{EXTRA_META} if $self->{EXTRA_META};
+    if ($self->{EXTRA_META}) {
+        if (ref $self->{EXTRA_META}) { 
+            eval { require YAML; };
+            croak "YAML required when EXTRA_META is a hash ref" if $@; 
+            local $YAML::UseHeader = 0; # no header
+            $self->{EXTRA_META} = YAML::Dump($self->{EXTRA_META});
+        }
+        $meta .= $self->{EXTRA_META};
+    }
 
     my @write_meta = $self->echo($meta, 'META_new.yml');
 
diff -urN ExtUtils-MakeMaker-6.30_01/lib/ExtUtils/MakeMaker.pm ExtUtils-MakeMaker-6.30_02/lib/ExtUtils/MakeMaker.pm
--- ExtUtils-MakeMaker-6.30_01/lib/ExtUtils/MakeMaker.pm	2005-08-17 03:53:56.000000000 -0300
+++ ExtUtils-MakeMaker-6.30_02/lib/ExtUtils/MakeMaker.pm	2006-08-24 16:10:10.000000000 -0300
@@ -91,6 +91,7 @@
  TYPEMAPS           => 'array',
  XS                 => 'hash',
  _KEEP_AFTER_FLUSH  => '',
+ EXTRA_META         => ['hash',''],
 
  clean      => 'hash',
  depend     => 'hash',
@@ -1462,7 +1463,9 @@
 
 =item EXTRA_META
 
-Extra text to be appended to the generated META.yml.
+Extra properties to be appended to the generated META.yml.
+It may be text (already in YAML) or a hash reference (in which case,
+the YAML module is required).
 
 =item FIRST_MAKEFILE
 
