summaryrefslogtreecommitdiff
path: root/python-vswhere.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-vswhere.spec')
-rw-r--r--python-vswhere.spec336
1 files changed, 336 insertions, 0 deletions
diff --git a/python-vswhere.spec b/python-vswhere.spec
new file mode 100644
index 0000000..3fb15b5
--- /dev/null
+++ b/python-vswhere.spec
@@ -0,0 +1,336 @@
+%global _empty_manifest_terminate_build 0
+Name: python-vswhere
+Version: 1.4.0
+Release: 1
+Summary: Interface to Microsoft's Visual Studio locator tool, vswhere
+License: MIT
+URL: https://github.com/ChaosinaCan/pyvswhere
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/64/17/c8d9147f5d424a7574c455721f7f995801f28ef84c09932434b0110d9803/vswhere-1.4.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# Python vswhere
+
+This module provides an interface to Microsoft's Visual Studio locator tool,
+[vswhere](https://github.com/Microsoft/vswhere).
+
+If Visual Studio 15.2 or later has been installed, this will use the vswhere
+binary installed with Visual Studio. Otherwise, it will download the latest
+release of vswhere the first time a function is called.
+
+# Usage
+
+`find()` and `find_first()` are the most generic functions. They support most of
+the [command line options](https://github.com/Microsoft/vswhere/blob/master/src/vswhere.lib/vswhere.lib.rc#L72)
+to vswhere. `find()` returns a list of installed copies of Visual Studio matching
+the given options, and `find_first()` returns only the first result.
+
+If you are only interested in the latest version of Visual Studio, use
+`get_latest()`. To get just the installation path, use `get_latest_path()`.
+To get just the version number, use `get_latest_version()` or `get_latest_major_version()`.
+These functions also support the same arguments as `find()`, so you can find
+pre-releases or different products such as build tools.
+
+If you want to use your own version of vswhere.exe instead of the one installed
+with Visual Studio, use `set_vswhere_path()` to provide its location.
+
+If you want to use a mirror instead of GitHub to download vswhere.exe, for
+example when on an intranet that does not have access to GitHub, use
+`set_download_mirror()` and provide the URL of the mirror.
+
+## Examples
+
+```Python
+>>> import pprint, vswhere
+>>> vswhere.get_latest_path()
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community'
+>>> vswhere.get_latest_path(products='Microsoft.VisualStudio.Product.BuildTools')
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools'
+>>> vswhere.get_latest_version()
+'16.5.30011.22'
+>>> vswhere.get_latest_major_version()
+16
+>>> vswhere.find(legacy=True, prop='installationPath')
+['C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\']
+>>> pp = pprint.PrettyPrinter(indent=4, width=200)
+>>> pp.pprint(vswhere.find(legacy=True))
+[ { 'catalog': { 'buildBranch': 'd16.5',
+ 'buildVersion': '16.5.30011.22',
+ 'id': 'VisualStudio/16.5.4+30011.22',
+ 'localBuild': 'build-lab',
+ 'manifestName': 'VisualStudio',
+ 'manifestType': 'installer',
+ 'productDisplayVersion': '16.5.4',
+ 'productLine': 'Dev16',
+ 'productLineVersion': '2019',
+ 'productMilestone': 'RTW',
+ 'productMilestoneIsPreRelease': 'False',
+ 'productName': 'Visual Studio',
+ 'productPatchVersion': '4',
+ 'productPreReleaseMilestoneSuffix': '1.0',
+ 'productSemanticVersion': '16.5.4+30011.22',
+ 'requiredEngineVersion': '2.5.2141.57745'},
+ 'channelId': 'VisualStudio.16.Release',
+ 'channelUri': 'https://aka.ms/vs/16/release/channel',
+ 'description': 'Powerful IDE, free for students, open-source contributors, and individuals',
+ 'displayName': 'Visual Studio Community 2019',
+ 'enginePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service',
+ 'installDate': '2019-06-24T05:30:57Z',
+ 'installationName': 'VisualStudio/16.5.4+30011.22',
+ 'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community',
+ 'installationVersion': '16.5.30011.22',
+ 'instanceId': '0a09d80d',
+ 'isComplete': True,
+ 'isLaunchable': True,
+ 'isPrerelease': False,
+ 'isRebootRequired': False,
+ 'productId': 'Microsoft.VisualStudio.Product.Community',
+ 'productPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\IDE\\devenv.exe',
+ 'properties': { 'campaignId': '1263684068.1543796472',
+ 'channelManifestId': 'VisualStudio.16.Release/16.5.4+30011.22',
+ 'nickname': '',
+ 'setupEngineFilePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vs_installershell.exe'},
+ 'releaseNotes': 'https://go.microsoft.com/fwlink/?LinkId=660893#16.5.4',
+ 'state': 4294967295,
+ 'thirdPartyNotices': 'https://go.microsoft.com/fwlink/?LinkId=660909',
+ 'updateDate': '2020-05-10T17:04:46.9919584Z'},
+ {'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\', 'installationVersion': '14.0', 'instanceId': 'VisualStudio.14.0'}]
+```
+
+
+
+%package -n python3-vswhere
+Summary: Interface to Microsoft's Visual Studio locator tool, vswhere
+Provides: python-vswhere
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-vswhere
+# Python vswhere
+
+This module provides an interface to Microsoft's Visual Studio locator tool,
+[vswhere](https://github.com/Microsoft/vswhere).
+
+If Visual Studio 15.2 or later has been installed, this will use the vswhere
+binary installed with Visual Studio. Otherwise, it will download the latest
+release of vswhere the first time a function is called.
+
+# Usage
+
+`find()` and `find_first()` are the most generic functions. They support most of
+the [command line options](https://github.com/Microsoft/vswhere/blob/master/src/vswhere.lib/vswhere.lib.rc#L72)
+to vswhere. `find()` returns a list of installed copies of Visual Studio matching
+the given options, and `find_first()` returns only the first result.
+
+If you are only interested in the latest version of Visual Studio, use
+`get_latest()`. To get just the installation path, use `get_latest_path()`.
+To get just the version number, use `get_latest_version()` or `get_latest_major_version()`.
+These functions also support the same arguments as `find()`, so you can find
+pre-releases or different products such as build tools.
+
+If you want to use your own version of vswhere.exe instead of the one installed
+with Visual Studio, use `set_vswhere_path()` to provide its location.
+
+If you want to use a mirror instead of GitHub to download vswhere.exe, for
+example when on an intranet that does not have access to GitHub, use
+`set_download_mirror()` and provide the URL of the mirror.
+
+## Examples
+
+```Python
+>>> import pprint, vswhere
+>>> vswhere.get_latest_path()
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community'
+>>> vswhere.get_latest_path(products='Microsoft.VisualStudio.Product.BuildTools')
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools'
+>>> vswhere.get_latest_version()
+'16.5.30011.22'
+>>> vswhere.get_latest_major_version()
+16
+>>> vswhere.find(legacy=True, prop='installationPath')
+['C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\']
+>>> pp = pprint.PrettyPrinter(indent=4, width=200)
+>>> pp.pprint(vswhere.find(legacy=True))
+[ { 'catalog': { 'buildBranch': 'd16.5',
+ 'buildVersion': '16.5.30011.22',
+ 'id': 'VisualStudio/16.5.4+30011.22',
+ 'localBuild': 'build-lab',
+ 'manifestName': 'VisualStudio',
+ 'manifestType': 'installer',
+ 'productDisplayVersion': '16.5.4',
+ 'productLine': 'Dev16',
+ 'productLineVersion': '2019',
+ 'productMilestone': 'RTW',
+ 'productMilestoneIsPreRelease': 'False',
+ 'productName': 'Visual Studio',
+ 'productPatchVersion': '4',
+ 'productPreReleaseMilestoneSuffix': '1.0',
+ 'productSemanticVersion': '16.5.4+30011.22',
+ 'requiredEngineVersion': '2.5.2141.57745'},
+ 'channelId': 'VisualStudio.16.Release',
+ 'channelUri': 'https://aka.ms/vs/16/release/channel',
+ 'description': 'Powerful IDE, free for students, open-source contributors, and individuals',
+ 'displayName': 'Visual Studio Community 2019',
+ 'enginePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service',
+ 'installDate': '2019-06-24T05:30:57Z',
+ 'installationName': 'VisualStudio/16.5.4+30011.22',
+ 'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community',
+ 'installationVersion': '16.5.30011.22',
+ 'instanceId': '0a09d80d',
+ 'isComplete': True,
+ 'isLaunchable': True,
+ 'isPrerelease': False,
+ 'isRebootRequired': False,
+ 'productId': 'Microsoft.VisualStudio.Product.Community',
+ 'productPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\IDE\\devenv.exe',
+ 'properties': { 'campaignId': '1263684068.1543796472',
+ 'channelManifestId': 'VisualStudio.16.Release/16.5.4+30011.22',
+ 'nickname': '',
+ 'setupEngineFilePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vs_installershell.exe'},
+ 'releaseNotes': 'https://go.microsoft.com/fwlink/?LinkId=660893#16.5.4',
+ 'state': 4294967295,
+ 'thirdPartyNotices': 'https://go.microsoft.com/fwlink/?LinkId=660909',
+ 'updateDate': '2020-05-10T17:04:46.9919584Z'},
+ {'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\', 'installationVersion': '14.0', 'instanceId': 'VisualStudio.14.0'}]
+```
+
+
+
+%package help
+Summary: Development documents and examples for vswhere
+Provides: python3-vswhere-doc
+%description help
+# Python vswhere
+
+This module provides an interface to Microsoft's Visual Studio locator tool,
+[vswhere](https://github.com/Microsoft/vswhere).
+
+If Visual Studio 15.2 or later has been installed, this will use the vswhere
+binary installed with Visual Studio. Otherwise, it will download the latest
+release of vswhere the first time a function is called.
+
+# Usage
+
+`find()` and `find_first()` are the most generic functions. They support most of
+the [command line options](https://github.com/Microsoft/vswhere/blob/master/src/vswhere.lib/vswhere.lib.rc#L72)
+to vswhere. `find()` returns a list of installed copies of Visual Studio matching
+the given options, and `find_first()` returns only the first result.
+
+If you are only interested in the latest version of Visual Studio, use
+`get_latest()`. To get just the installation path, use `get_latest_path()`.
+To get just the version number, use `get_latest_version()` or `get_latest_major_version()`.
+These functions also support the same arguments as `find()`, so you can find
+pre-releases or different products such as build tools.
+
+If you want to use your own version of vswhere.exe instead of the one installed
+with Visual Studio, use `set_vswhere_path()` to provide its location.
+
+If you want to use a mirror instead of GitHub to download vswhere.exe, for
+example when on an intranet that does not have access to GitHub, use
+`set_download_mirror()` and provide the URL of the mirror.
+
+## Examples
+
+```Python
+>>> import pprint, vswhere
+>>> vswhere.get_latest_path()
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community'
+>>> vswhere.get_latest_path(products='Microsoft.VisualStudio.Product.BuildTools')
+'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools'
+>>> vswhere.get_latest_version()
+'16.5.30011.22'
+>>> vswhere.get_latest_major_version()
+16
+>>> vswhere.find(legacy=True, prop='installationPath')
+['C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\']
+>>> pp = pprint.PrettyPrinter(indent=4, width=200)
+>>> pp.pprint(vswhere.find(legacy=True))
+[ { 'catalog': { 'buildBranch': 'd16.5',
+ 'buildVersion': '16.5.30011.22',
+ 'id': 'VisualStudio/16.5.4+30011.22',
+ 'localBuild': 'build-lab',
+ 'manifestName': 'VisualStudio',
+ 'manifestType': 'installer',
+ 'productDisplayVersion': '16.5.4',
+ 'productLine': 'Dev16',
+ 'productLineVersion': '2019',
+ 'productMilestone': 'RTW',
+ 'productMilestoneIsPreRelease': 'False',
+ 'productName': 'Visual Studio',
+ 'productPatchVersion': '4',
+ 'productPreReleaseMilestoneSuffix': '1.0',
+ 'productSemanticVersion': '16.5.4+30011.22',
+ 'requiredEngineVersion': '2.5.2141.57745'},
+ 'channelId': 'VisualStudio.16.Release',
+ 'channelUri': 'https://aka.ms/vs/16/release/channel',
+ 'description': 'Powerful IDE, free for students, open-source contributors, and individuals',
+ 'displayName': 'Visual Studio Community 2019',
+ 'enginePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service',
+ 'installDate': '2019-06-24T05:30:57Z',
+ 'installationName': 'VisualStudio/16.5.4+30011.22',
+ 'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community',
+ 'installationVersion': '16.5.30011.22',
+ 'instanceId': '0a09d80d',
+ 'isComplete': True,
+ 'isLaunchable': True,
+ 'isPrerelease': False,
+ 'isRebootRequired': False,
+ 'productId': 'Microsoft.VisualStudio.Product.Community',
+ 'productPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\IDE\\devenv.exe',
+ 'properties': { 'campaignId': '1263684068.1543796472',
+ 'channelManifestId': 'VisualStudio.16.Release/16.5.4+30011.22',
+ 'nickname': '',
+ 'setupEngineFilePath': 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vs_installershell.exe'},
+ 'releaseNotes': 'https://go.microsoft.com/fwlink/?LinkId=660893#16.5.4',
+ 'state': 4294967295,
+ 'thirdPartyNotices': 'https://go.microsoft.com/fwlink/?LinkId=660909',
+ 'updateDate': '2020-05-10T17:04:46.9919584Z'},
+ {'installationPath': 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\', 'installationVersion': '14.0', 'instanceId': 'VisualStudio.14.0'}]
+```
+
+
+
+%prep
+%autosetup -n vswhere-1.4.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-vswhere -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.0-1
+- Package Spec generated