aboutsummaryrefslogtreecommitdiff
path: root/packaging
AgeCommit message (Collapse)AuthorFilesLines
2023-08-01Upgrade MSI builder from WiX3 to WiX 4.Jussi Pakkanen1-45/+53
2023-07-25packaging: fix regression that prevented pyinstaller from getting custom depsEli Schwartz1-0/+4
mesonbuild.dependencies.* is now lazy-imported and not automatically detected. Add them as hidden imports. Fixes #12036
2023-05-25Autodetect installer path location.Jussi Pakkanen1-1/+5
2023-04-17fix data collection with pyinstallerEli Schwartz1-1/+1
pyinstaller considers .py files to not be data by default. The entire architecture of pyinstaller is, in fact, different from zipapp or unpacked modules -- because it actually has to use a resource loader with on-disk files *separate* from the module itself. So just because a file gets packaged in the application does not mean it's usable as an importlib.resources compatible resource. Although we collect data files in general, we need to make sure that .py files are collected from scripts, because we may try to run them standalone from an external process. Fixes #11689
2023-04-11packaging: fix options hostArchitectures attributeJosh Soref1-1/+1
This is used by the meson.pkg but is an optional attribute: https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW41 Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11Change "can not" to "cannot" throughout projectHiPhish2-2/+2
The word "cannot" expresses inability to do something whereas "can not" expresses the ability to refrain from doing something.
2022-05-16Add optional compressjoshcangit1-1/+2
Compress files under source directory using Deflate method. By default, files are not compressed in the archive. Compression is active only when this option is defined. https://docs.python.org/3/library/zipapp.html?highlight=zipapp#cmdoption-zipapp-c
2022-04-09packaging: make sure pyinstaller sees our distributed data filesEli Schwartz1-0/+7
Running pyinstaller to create a bundle, and using the resulting `pyinst-tmp/meson/meson setup ...` with the cmake module revealed that no data files were being bundled, unlike what we did for setup.cfg. Fix this oversight. Fixes #10163
2022-03-30packaging: rework how pyinstaller gets its instructionsEli Schwartz3-50/+51
Make use of pyinstaller hooks by creating a hook that updates how the `mesonbuild` import functions. This is more or less the same as passing a bajillion arguments to pyinstaller's CLI, but allows the logic to be self-contained (and reusable). It becomes more obvious what parts of the process pertain to pyinstaller, and which parts pertain to MSI/pkg creation.
2022-02-14packaging: fix the MSI bundling of distutils sub-packagesEli Schwartz1-0/+1
Fixes regression in commit 05b5a1e56fe8f5400b65d0d69680cc6531fe74f8. This added usage of another module in the python module's introspection of `meson.exe runpython`, but the MSI packaging didn't adapt, causing it to fail to be detected due to ImportError. Fixes #9975
2022-01-09Use VS 2022 release version for packaging.Jussi Pakkanen1-1/+1
2021-11-17MSI generator fixesJussi Pakkanen1-7/+13
2021-10-24Remove temp files that the macOS installer builder leaves hanging.Jussi Pakkanen1-0/+6
2021-10-24Fix MSI creation with Python 3.10.Jussi Pakkanen1-0/+2
2021-10-10Fix typos discovered by codespellChristian Clauss1-1/+1
2021-08-31pylint: turn on superflous-parensDylan Baker1-1/+1
We have a lot of these. Some of them are harmless, if unidiomatic, such as `if (condition)`, others are potentially dangerous `assert(...)`, as `assert(condtion)` works as expected, but `assert(condition, message)` will result in an assertion that never triggers, as what you're actually asserting is `bool(tuple[2])`, which will always be true.
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz1-1/+0
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-08-15misc formatting lint fixes, drop unneeded f-stringEli Schwartz1-8/+8
2021-07-21Delete extra data dirs that cause problems for WiX.Jussi Pakkanen1-0/+9
2021-06-07Fix macpkg generator import path. [skip ci]Jussi Pakkanen1-1/+1
2021-05-18Add a script to create macOS installer packages.Jussi Pakkanen5-41/+405
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz1-3/+3
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz1-1/+1
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
2021-02-28Require Windows 10 or newer for the MSI package. [skip ci]Jussi Pakkanen1-0/+12
2021-02-28Add filecmp to list of bundled modules. Closes #8431. [skip ci]Jussi Pakkanen1-0/+1
2021-02-28Remove remnants of 32 bit support. [skip ci]Jussi Pakkanen1-8/+4
2020-11-27Add script to create a zipapp.Eli Schwartz1-0/+22
Invoke create_zipapp.py from the root of the repository and it will create a minimal zipapp with only the mesonbuild module code and a __main__.py directly copied from meson.py The meson.py launcher already tracks the desired entry point, and its only other effect is to add the mesonbuild directory to the path if it exists, which it won't in the zipapp. So there's no need to duplicate this into another __main__.py
2020-11-27createmsi: move to generic packaging directoryEli Schwartz2-0/+425
We might want to create other dedicated packaging scripts, and put them all in one directory.