Index: libraries.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/libraries/libraries.module,v
retrieving revision 1.6
diff -u -p -r1.6 libraries.module
--- libraries.module	23 Jul 2010 12:57:01 -0000	1.6
+++ libraries.module	22 Sep 2010 17:33:23 -0000
@@ -136,27 +136,36 @@ function libraries_info($library = NULL)
 
   if (!isset($libraries)) {
     $libraries = array();
+    // Gather information from hook_libraries_info().
     foreach (module_implements('libraries_info') as $module) {
       foreach (module_invoke($module, 'libraries_info') as $name => $properties) {
         $properties['module'] = $module;
         $properties['name'] = $name;
-
-        $properties += array(
-          'title' => $name,
-          'vendor url' => '',
-          'download url' => '',
-          'path' => '',
-          'version callback' => 'libraries_get_version',
-          'version arguments' => array(),
-          'files' => array(),
-          'variants' => array(),
-          'versions' => array(),
-          'integration files' => array(),
-        );
-
         $libraries[$name] = $properties;
       }
     }
+    // Gather information from .info files.
+    foreach (libraries_get_libraries() as $directory => $path) {
+      $file = "$path/$directory.info";
+      if (file_exists($file)) {
+        $libraries[$directory] = drupal_parse_info_file($file);
+      }
+    }
+    // Provide defaults.
+    foreach ($libraries as $name => &$properties) {
+      $properties += array(
+        'title' => $name,
+        'vendor url' => '',
+        'download url' => '',
+        'path' => '',
+        'version callback' => 'libraries_get_version',
+        'version arguments' => array(),
+        'files' => array(),
+        'variants' => array(),
+        'versions' => array(),
+        'integration files' => array(),
+      );
+    }
     // Allow modules to alter the registered libraries.
     drupal_alter('libraries_info', $libraries);
   }
