def __init__(self, package, version):
        """Construct a new requirement.

        :param package: the package name.
        :param version: a semver compatible version specification.
        """
        self.package = package
        self.version = version
        if self.version and not re.match(r"[<=>~]", version[:2]):
            self.version = "=={}".format(self.version)
def setup_run_environment(self, env):
        bashrc = self.prefix.etc.bashrc
        try:
            env.extend(EnvironmentModifications.from_sourcing_file(
                bashrc, clean=True
            ))
        except Exception as e:
            msg = 'unexpected error when sourcing OpenFOAM bashrc [{0}]'
            tty.warn(msg.format(str(e)))