@staticmethod
    def from_manifest(manifest, manifest_url):
        r = SourceInstall()
        r.manifest = manifest
        r.manifest_url = manifest_url
        rd_debug("Loading manifest:\n{{{%s\n}}}\n"%manifest)
        
        r.install_command = manifest.get("install-script", '')
        r.check_presence_command = manifest.get("check-presence-script", '')

        r.exec_path = manifest.get("exec-path", ".")
        try:
            r.tarball = manifest["uri"]
        except __HOLE__:
            raise InvalidRdmanifest("uri required for source rosdeps") 
        r.alternate_tarball = manifest.get("alternate-uri")
        r.tarball_md5sum = manifest.get("md5sum")
        r.dependencies = manifest.get("depends", [])
        return r
dataset/ETHPy150Open ros-infrastructure/rosdep/src/rosdep2/platforms/source.py/SourceInstall.from_manifest