From b50565a5001e0b92b84a45d759164f568ddd378f Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Tue, 28 Mar 2023 14:55:07 +0200 Subject: [PATCH] Create Zulip package --- .gitattributes | 1 + .gitignore | 99 ++++++++++++++++ LICENSE | 201 +++++++++++++++++++++++++++++++ README.md | 3 + WAPT/control | 44 +++++++ WAPT/icon.png | Bin 0 -> 8832 bytes WAPT/wapt.psproj | 275 +++++++++++++++++++++++++++++++++++++++++++ Zulip-5.9.5-ia32.msi | 3 + Zulip-5.9.5-x64.msi | 3 + setup.py | 56 +++++++++ 10 files changed, 685 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 WAPT/control create mode 100644 WAPT/icon.png create mode 100644 WAPT/wapt.psproj create mode 100644 Zulip-5.9.5-ia32.msi create mode 100644 Zulip-5.9.5-x64.msi create mode 100644 setup.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..90c0ba7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.msi filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99049c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,99 @@ +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# dotenv +.env + +# virtualenv +.venv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +WAPT/certificate.crt +WAPT/manifest.sha256 +WAPT/signature.sha256 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9c8f3ea --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4d66beb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# wapt-seadrive + +Seadrive WAPT package \ No newline at end of file diff --git a/WAPT/control b/WAPT/control new file mode 100644 index 0000000..e4a51c8 --- /dev/null +++ b/WAPT/control @@ -0,0 +1,44 @@ +package : eht-zulip +version : 5.9.5-9 +architecture : all +section : base +priority : optional +name : +categories : +maintainer : Daniel Berteaud +description : Zulip messaging client +depends : +conflicts : +maturity : PROD +locale : all +target_os : windows +min_wapt_version : 1.3.12 +sources : +installed_size : +impacted_process : +description_fr : Client de messagerie Zulip +description_pl : +description_de : +description_es : +description_pt : +description_it : +description_nl : +description_ru : +audit_schedule : 2d +editor : +keywords : messaging +licence : Apache 2 +homepage : https://zulip.com/ +package_uuid : 953853c4-db15-4799-a9f5-6e9b21990ed1 +valid_from : +valid_until : +forced_install_on : +changelog : +min_os_version : 10 +max_os_version : +icon_sha256sum : 13e617e39df11da8a5d716b29f6c676b6a76b48e6db34ff32ce27dbb8915292e +signer : dbd +signer_fingerprint: e9156ec73f1ea6b50f33e0d9f580e8ae56db147100894bb5d2d4648a46f07ed1 +signature : KWVmxucBX4ynPpklg6eiHs0C6LKbpKg0hgXDEWpPBVnXqQUJgTcoZL341D4uttrsDuMKO76DUdBZTLTjE1J4PpA+ww+vejwANOaHGE3huT3ducOHnRXqyjGrXXgv9y21p0h0V9GAPRRSCkp4HlvbNHH3trUXJhJ4Qy0USlGp7Jrl72IumLIEkUS8oG3TrNx/W/JBdJYX3gVDDdgH4GlOJJTiXyroSh112WvOqc2aqkAbhlX7i6FlEjRv/DEYqcOOOrjHBjXIpQ7utzaYksd6NKySDmKE/O7HBnHfodeW4JXg1cAtUOsukI6KYjT4l1Mo/bmaLL1a3IyelxR2Thq8VQ== +signature_date : 2023-03-28T14:51:04.956117 +signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes \ No newline at end of file diff --git a/WAPT/icon.png b/WAPT/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0fab0f029797ad7fcda3e4b2474f4938ffe451e1 GIT binary patch literal 8832 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 K!M7RuCjJk%!$HLW literal 0 HcmV?d00001 diff --git a/WAPT/wapt.psproj b/WAPT/wapt.psproj new file mode 100644 index 0000000..42a4af8 --- /dev/null +++ b/WAPT/wapt.psproj @@ -0,0 +1,275 @@ +[PyScripter] +Version=3.4.2.0 + +[Project] +ClassName=TProjectRootNode +StoreRelativePaths=TRUE +ShowFileExtensions=FALSE + +[Project\ChildNodes\Node0] +ClassName=TProjectFilesNode + +[Project\ChildNodes\Node0\ChildNodes\Node0] +ClassName=TProjectFolderNode +Name=wapt + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node0] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\common.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node1] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\setuphelpers.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node2] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\wapt-get.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node3] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\wapt-get.ini + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node4] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\waptpackage.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes] +Count=5 + +[Project\ChildNodes\Node0\ChildNodes\Node1] +ClassName=TProjectFileNode +FileName=$[Project-Path]changelog.txt + +[Project\ChildNodes\Node0\ChildNodes\Node2] +ClassName=TProjectFileNode +FileName=$[Project-Path]control + +[Project\ChildNodes\Node0\ChildNodes\Node3] +ClassName=TProjectFileNode +FileName=$[Project-Path]..\setup.py + +[Project\ChildNodes\Node0\ChildNodes] +Count=4 + +[Project\ChildNodes\Node1] +ClassName=TProjectRunConfiguationsNode + +[Project\ChildNodes\Node1\ChildNodes\Node0] +ClassName=TProjectRunConfiguationNode +Name=install + +[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=install "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node1] +ClassName=TProjectRunConfiguationNode +Name=remove + +[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=remove "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node2] +ClassName=TProjectRunConfiguationNode +Name=session-setup + +[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=session-setup "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node3] +ClassName=TProjectRunConfiguationNode +Name=update + +[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=update +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node4] +ClassName=TProjectRunConfiguationNode +Name=upgrade + +[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=-f upgrade +WorkingDir=$[ActiveScript-Dir] +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node5] +ClassName=TProjectRunConfiguationNode +Name=-i build-upload + +[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=-i build-upload "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node6] +ClassName=TProjectRunConfiguationNode +Name=svn update + +[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=sources "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node7] +ClassName=TProjectRunConfiguationNode +Name=uninstall + +[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=uninstall "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[Project-Path].. + +[Project\ChildNodes\Node1\ChildNodes\Node8] +ClassName=TProjectRunConfiguationNode +Name=update-package-sources + +[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=update-package-sources "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node9] +ClassName=TProjectRunConfiguationNode +Name=audit + +[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=audit -f "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes] +Count=10 + +[Project\ChildNodes] +Count=2 + +[Project\ExtraPythonPath] +Count=0 + diff --git a/Zulip-5.9.5-ia32.msi b/Zulip-5.9.5-ia32.msi new file mode 100644 index 0000000..d844916 --- /dev/null +++ b/Zulip-5.9.5-ia32.msi @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06f6993847c1f9cf885b45f7789e6f919f58bd92a27df7efe8dbeeaef888eeaa +size 76632064 diff --git a/Zulip-5.9.5-x64.msi b/Zulip-5.9.5-x64.msi new file mode 100644 index 0000000..ecbb42b --- /dev/null +++ b/Zulip-5.9.5-x64.msi @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23d65d88dbd5db4daa123859a728074ae88e4d971897e9a7778dc3ad0d7c5745 +size 80674816 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..de8a5d8 --- /dev/null +++ b/setup.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +from setuphelpers import * + +uninstallkey = [] + +def install(): + + print('Installing Zulip Desktop') + version = control['version'].split('-',1)[0] + + props = { + 'MSIINSTALLPERUSER': '0' + } + + if iswin64(): + msi = 'Zulip-%s-x64.msi' % version + else: + msi = 'Zulip-%s-ia32.msi' % version + + install_msi_if_needed(msi, min_version=version, properties=props) + + +def update_package(): + print('Updating Zulip Desktop package') + import requests,json + + latest = json.loads(requests.get('https://api.github.com/repos/zulip/zulip-desktop/releases/latest').text.encode('utf-8')) + version = latest['tag_name'][1:] + print('Found latest version %s' % version) + pe = PackageEntry(); + control = pe.load_control_from_wapt('.') + bin_found = [] + + for arch in ['x64','ia32']: + for asset in latest['assets']: + + if asset['name'] == 'Zulip-%s-%s.msi' % (version, arch) and not isfile('Zulip-%s-%s.msi' % (version, arch)): + url = asset['browser_download_url'] + print('Downloading Zulip Desktop %s for %s from %s' % (version, arch ,url)) + wget(url,'Zulip-%s-%s.msi' % (version, arch)) + bin_found.append(arch) + + for file in glob.glob('Zulip-*-%s.msi' % arch): + if file != 'Zulip-%s-%s.msi' % (version, arch): + print('Removing %s' % file) + remove_file(file) + + if Version(version) > Version(control['version'].split('-',1)[0]) and 'x64' in bin_found and 'ia32' in bin_found: + print('Updating control file with new version %s' % version) + pe.version = version + '-0' + pe.maturity = 'PREPROD' + pe.save_control_to_wapt('.') + +if __name__ == '__main__': + update_package() +