Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.tools.deps.brew_util

""" brew_exts defines generic extensions to Homebrew this file
builds on those abstraction and provides Galaxy specific functionality
not useful to the brew external commands.
"""
from ..deps import brew_exts

DEFAULT_TAP = "homebrew/science"


[docs]class HomebrewRecipe(object):
[docs] def __init__(self, recipe, version, tap): self.recipe = recipe self.version = version self.tap = tap
[docs]def requirements_to_recipes(requirements): return filter(None, map(requirement_to_recipe, requirements))
[docs]def requirement_to_recipe(requirement): if requirement.type != "package": return None # TOOD: Allow requirements to annotate optionalbrew specific # adaptions. recipe_name = requirement.name recipe_version = requirement.version return HomebrewRecipe(recipe_name, recipe_version, tap=DEFAULT_TAP)
[docs]def requirements_to_recipe_contexts(requirements, brew_context): def to_recipe_context(homebrew_recipe): return brew_exts.RecipeContext( homebrew_recipe.recipe, homebrew_recipe.version, brew_context ) return map(to_recipe_context, requirements_to_recipes(requirements))