diff options
Diffstat (limited to 'PC/layout/support/nuspec.py')
-rw-r--r-- | PC/layout/support/nuspec.py | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/PC/layout/support/nuspec.py b/PC/layout/support/nuspec.py deleted file mode 100644 index b85095c..0000000 --- a/PC/layout/support/nuspec.py +++ /dev/null @@ -1,72 +0,0 @@ -""" -Provides .props file. -""" - -import os - -from .constants import * - -__all__ = ["get_nuspec_layout"] - -PYTHON_NUSPEC_NAME = "python.nuspec" - -NUSPEC_DATA = { - "PYTHON_TAG": VER_DOT, - "PYTHON_VERSION": os.getenv("PYTHON_NUSPEC_VERSION"), - "FILELIST": r' <file src="**\*" target="tools" />', -} - -NUSPEC_PLATFORM_DATA = dict( - _keys=("PYTHON_BITNESS", "PACKAGENAME", "PACKAGETITLE"), - win32=("32-bit", "pythonx86", "Python (32-bit)"), - amd64=("64-bit", "python", "Python"), - arm32=("ARM", "pythonarm", "Python (ARM)"), - arm64=("ARM64", "pythonarm64", "Python (ARM64)"), -) - -if not NUSPEC_DATA["PYTHON_VERSION"]: - NUSPEC_DATA["PYTHON_VERSION"] = "{}.{}{}{}".format( - VER_DOT, VER_MICRO, "-" if VER_SUFFIX else "", VER_SUFFIX - ) - -FILELIST_WITH_PROPS = r""" <file src="**\*" exclude="python.props" target="tools" /> - <file src="python.props" target="build\native" />""" - -NUSPEC_TEMPLATE = r"""<?xml version="1.0"?> -<package> - <metadata> - <id>{PACKAGENAME}</id> - <title>{PACKAGETITLE}</title> - <version>{PYTHON_VERSION}</version> - <authors>Python Software Foundation</authors> - <license type="file">tools\LICENSE.txt</license> - <projectUrl>https://www.python.org/</projectUrl> - <description>Installs {PYTHON_BITNESS} Python for use in build scenarios.</description> - <iconUrl>https://www.python.org/static/favicon.ico</iconUrl> - <tags>python</tags> - </metadata> - <files> -{FILELIST} - </files> -</package> -""" - - -def _get_nuspec_data_overrides(ns): - for k, v in zip(NUSPEC_PLATFORM_DATA["_keys"], NUSPEC_PLATFORM_DATA[ns.arch]): - ev = os.getenv("PYTHON_NUSPEC_" + k) - if ev: - yield k, ev - yield k, v - - -def get_nuspec_layout(ns): - if ns.include_all or ns.include_nuspec: - data = dict(NUSPEC_DATA) - for k, v in _get_nuspec_data_overrides(ns): - if not data.get(k): - data[k] = v - if ns.include_all or ns.include_props: - data["FILELIST"] = FILELIST_WITH_PROPS - nuspec = NUSPEC_TEMPLATE.format_map(data) - yield "python.nuspec", ("python.nuspec", nuspec.encode("utf-8")) |