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...
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | drush_make_libraries_v1.patch | 1.52 KB | yhahn |
Comments
Comment #1
yhahn commentedThis 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
$librariesarray as to avoid any key conflicts with projects that use the exact same name.We may also want a simpler download class that does a raw download rather than checking URLs through an update XML feed first.
Comment #2
dmitrig01 commentedHm 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
Comment #3
yhahn commentedWord, 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).
Comment #4
jmiccolis commentedGents, 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").
Comment #5
moshe weitzman commentedFYI, 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.
Comment #6
moshe weitzman commenteddevel module works with the firephp external library. i think i'll add library support. thanks for the tip.