) self.end_msg("Ok") except Errors.WafError as e: self.end_msg("Failed, make sure patch %s was already applied" % patch) return k, kw def dep_fetch(self, *k, **kw): """Fetches and extracts the source to dist""" k, kw = base(self, *k, **kw) kw["src"] = kw["prefix"] k, kw = fetch(self, *k, **kw) conf(dep_fetch) def dep_build(self, *k, **kw): """Configure/Make/Make install to the dist directory""" k, kw = base(self, *k, **kw) k, kw = fetch(self, *k, **kw) self.start_msg("Building %s" % kw["name"]) if not os.path.isdir(kw["prefix"]): config_cmd = kw.get("config_cmd", "%(src)s/configure --prefix=%(prefix)s") build_cmd = kw.get("build_cmd", Utils.subst_vars('${MAKE} ${JOBS}', self.env)) install_cmd = kw.get( "install_cmd", Utils.subst_vars('${MAKE} ${JOBS} install',
if not REPOS: REPOS = read_repos(Context.top_dir) for d, repo in REPOS.items(): directory = os.path.join(Context.top_dir, d) if d == ".waf": continue vals = get_repo_vals(directory) waf = os.path.join(directory, "waf") for val in vals.get("tools", []): try: self.load(val, tooldir=[waf]) except (ImportError, self.errors.ConfigurationError): self.load(val, tooldir=None) conf(loadrepos) def iterrepos(self): """ Iterate through repositories. It is simmilar to recurse. But it does not work on subdirectories but repos. """ global REPOS if not REPOS: REPOS = read_repos(Context.top_dir) self.repositories = REPOS for d, repo in REPOS.items(): if d == "core" or d == ".waf": continue
[Utils.subst_vars('${PATCH}',self.env), "-p1", "-Nsi", patch, "-d", kw["src"]], output=Context.BOTH, cwd=kw["src"], ) self.end_msg("Ok") except Errors.WafError as e: self.end_msg("Failed, make sure patch %s was already applied" % patch) return k, kw def dep_fetch(self, *k, **kw): """Fetches and extracts the source to dist""" k, kw = base(self, *k, **kw) kw["src"] = kw["prefix"] k, kw = fetch(self, *k, **kw) conf(dep_fetch) def dep_build(self, *k, **kw): """Configure/Make/Make install to the dist directory""" k, kw = base(self, *k, **kw) k, kw = fetch(self, *k, **kw) self.start_msg("Building %s" % kw["name"]) if not os.path.isdir(kw["prefix"]): config_cmd = kw.get("config_cmd", "%(src)s/configure --prefix=%(prefix)s") build_cmd = kw.get("build_cmd", Utils.subst_vars('${MAKE} ${JOBS}',self.env)) install_cmd = kw.get("install_cmd", Utils.subst_vars('${MAKE} ${JOBS} install', self.env)) self.end_msg("...") if not os.path.exists(kw["build"]): if kw.get("build_dir", True):
def loadrepos(self): """Load repositories""" REPOS = read_repos() for d, repo in REPOS.items(): directory = os.path.join(os.getcwd(),d) vals = get_repo_vals(directory) waf = os.path.join(directory, "waf") for val in vals.get("tools", []): try: self.load(val, tooldir=[waf]) except (ImportError, self.errors.ConfigurationError): self.load(val, tooldir=None) conf(loadrepos) def iterrepos(self): """ Iterate through repositories. It is simmilar to recurse. But it does not work on subdirectories but repos. """ REPOS = read_repos() self.repositories = REPOS for d, repo in REPOS.items(): if d == "core": continue self.repository_root = self.srcnode.find_node(str(d)) self.recurse([self.repository_root.abspath()])