--- development-support/_install_tool.py +++ development-support/_install_tool.py.orig @@ -145,57 +145,61 @@ min_platform = "10.0" max_platform = "99.9" - with open(setup) as fp: - for ln in fp: - if not in_requires: - if ln.strip().startswith("install_requires"): - in_requires = True - - if "]" in ln: - # Dependencies on a single line - start = ln.find("[") - deps = ln[start + 1 :].strip().split(",") - for d in deps: - d = d.strip()[1:] - if d.startswith("pyobjc-framework-"): - d = d.split(">")[0] - requires.append(d) - else: - if ln.strip().startswith("]"): - in_requires = False - continue - - dep = ln.strip()[1:-1] - if dep.startswith("pyobjc-framework"): - dep = dep.split(">")[0] - requires.append(dep) - - if ln.strip().startswith("min_os_level"): - min_platform = ln.strip().split("=")[-1] - if min_platform.endswith(","): - min_platform = min_platform[:-1] - min_platform = min_platform[1:-1] - - if ln.strip().startswith("max_os_level"): - max_platform = ln.strip().split("=")[-1] - if max_platform.endswith(","): - max_platform = max_platform[:-1] - max_platform = max_platform[1:-1] - - if not ( - version_key(min_platform) - <= version_key(cur_platform) - <= version_key(max_platform) - ): - print( - "Skipping {!r} because it is not supported on the current platform".format( - subdir + try: + with open(setup) as fp: + print("fp is ", fp) + for ln in fp: + if not in_requires: + if ln.strip().startswith("install_requires"): + in_requires = True + + if "]" in ln: + # Dependencies on a single line + start = ln.find("[") + deps = ln[start + 1 :].strip().split(",") + for d in deps: + d = d.strip()[1:] + if d.startswith("pyobjc-framework-"): + d = d.split(">")[0] + requires.append(d) + else: + if ln.strip().startswith("]"): + in_requires = False + continue + + dep = ln.strip()[1:-1] + if dep.startswith("pyobjc-framework"): + dep = dep.split(">")[0] + requires.append(dep) + + if ln.strip().startswith("min_os_level"): + min_platform = ln.strip().split("=")[-1] + if min_platform.endswith(","): + min_platform = min_platform[:-1] + min_platform = min_platform[1:-1] + + if ln.strip().startswith("max_os_level"): + max_platform = ln.strip().split("=")[-1] + if max_platform.endswith(","): + max_platform = max_platform[:-1] + max_platform = max_platform[1:-1] + if not ( + version_key(min_platform) + <= version_key(cur_platform) + <= version_key(max_platform) + ): + print( + "Skipping {!r} because it is not supported on the current platform".format( + subdir + ) ) - ) - continue - frameworks.append(subdir) - for dep in requires: - partial_order.append((dep, subdir)) + continue + frameworks.append(subdir) + for dep in requires: + partial_order.append((dep, subdir)) + + except: + print("Skipping {!r} because it has no setup.py script".format(subdir)) frameworks = topological_sort(frameworks, partial_order) return frameworks