mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 00:51:53 +08:00
pikvm/pikvm#1037: Fixed building with setuptools 68.0.0
This commit is contained in:
40
setup.py
40
setup.py
@@ -28,41 +28,31 @@ from setuptools import setup
|
|||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
|
class _Template(str):
|
||||||
|
def __init__(self, text: str) -> None:
|
||||||
|
self.__text = textwrap.dedent(text).strip()
|
||||||
|
|
||||||
|
def __mod__(self, kv: dict) -> None:
|
||||||
|
kv = {"module_name": kv["ep"].module_name, **kv}
|
||||||
|
return (self.__text % (kv))
|
||||||
|
|
||||||
|
|
||||||
class _ScriptWriter(setuptools.command.easy_install.ScriptWriter):
|
class _ScriptWriter(setuptools.command.easy_install.ScriptWriter):
|
||||||
template = textwrap.dedent("""
|
template = _Template("""
|
||||||
# EASY-INSTALL-ENTRY-SCRIPT: {spec},{group},{name}
|
# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
|
||||||
|
|
||||||
__requires__ = "{spec}"
|
__requires__ = %(spec)r
|
||||||
|
|
||||||
from {module} import main
|
from %(module_name)s import main
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
""").strip()
|
""")
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_args(cls, dist, header=None): # type: ignore
|
|
||||||
if header is None:
|
|
||||||
header = cls.get_header()
|
|
||||||
spec = str(dist.as_requirement())
|
|
||||||
for group_type in ["console", "gui"]:
|
|
||||||
group = group_type + "_scripts"
|
|
||||||
for (name, ep) in dist.get_entry_map(group).items():
|
|
||||||
cls._ensure_safe_name(name)
|
|
||||||
script_text = cls.template.format(
|
|
||||||
spec=spec,
|
|
||||||
group=group,
|
|
||||||
name=name,
|
|
||||||
module=ep.module_name,
|
|
||||||
)
|
|
||||||
yield from cls._get_script_args(group_type, name, header, script_text)
|
|
||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
setuptools.command.easy_install.ScriptWriter = _ScriptWriter
|
setuptools.command.easy_install.ScriptWriter = _ScriptWriter
|
||||||
setuptools.command.easy_install.get_script_args = _ScriptWriter.get_script_args
|
|
||||||
setuptools.command.easy_install.get_script_header = _ScriptWriter.get_script_header
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="kvmd",
|
name="kvmd",
|
||||||
|
|||||||
Reference in New Issue
Block a user