I don't have any good ways forward here, but I ran into an issue today with the parser_simplepie in feedapi -- it requires you to download the simplepie library and do some custom finagling to install the library .inc to a custom location.

This is rather unfortunate, especially given that this is not all that uncommon in modules that interface against 3rd party libraries. They also often have arbitrary conventions for what to do with the key .inc, .js, or whatever file.

Rather than trying to accommodate all possible scenarios, I think we should take a look at sun's libraries API project (http://drupal.org/project/libraries) and maybe make some headway in standardizing how projects utilize 3rd party libraries...

CommentFileSizeAuthor
#1 drush_make_libraries_v1.patch1.52 KByhahn

Comments

yhahn’s picture

Status: Active » Needs review
StatusFileSize
new1.52 KB

This patch adds support for external libraries under the assumption that they will be dropped into sites/all/libraries/[library_name] following the convention recommended by the libraries API.

The format in the makefile is the same as any project, except that it is put under the $libraries array as to avoid any key conflicts with projects that use the exact same name.

core = 6.x
projects[] = "libraries"
libraries[simplepie][download][type] = "svn"
libraries[simplepie][download][url] = "http://svn.simplepie.org/simplepie/releases/1.2"

We may also want a simpler download class that does a raw download rather than checking URLs through an update XML feed first.

dmitrig01’s picture

Hm i thnk you should be able to override the destination - not every module uses the libraries api. but i think that sites/all/libraries as a default is fine

yhahn’s picture

Assigned: Unassigned » yhahn

Word, will work on supporting alternate destinations.

FYI, I don't think we should ever support more custom operations like yanking single files out of the downloaded package and putting them in weird places. (This is what FeedAPI's simplepie integration previously demanded).

jmiccolis’s picture

Status: Needs review » Fixed

Gents, I've committed Young's work above with some additional handling for destinations as suggested by Dmitri.

By default libraries will goto 'libraries', but you can specify a different destination in a make file (like so "libraries[openlayers][destination] = "modules/contrib/openlayers").

moshe weitzman’s picture

FYI, I say a drupal_set_message() warning about simplepie when i installed the managing news install profile. the profile had been downloaded by drush_make. i ignored the message and finished the install and then the status report was happy with simpepie. so this report is just about the spurious warning during the installer ... not sure where else to mention it.

moshe weitzman’s picture

devel module works with the firephp external library. i think i'll add library support. thanks for the tip.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.