summaryrefslogtreecommitdiff
path: root/packaging
AgeCommit message (Collapse)Author
2025-11-23Bump version number for 1.10 rc1.Jussi Pakkanen
2025-07-31Convert builddist to a Python script.Jussi Pakkanen
2025-01-26Add deb package creation script.Jussi Pakkanen
2024-09-28Don't fail to package when run twiceElliot
Guards against exit when the default nuget source is already installed, or when wix is installed but not the wix ui toolset.
2024-07-17update script to build releases, to also build wheelsEli Schwartz
The commented-out command used "bdist", which produces a "dumb" format (that's what the setuptools docs call it! it's an alias for "bdist_dumb"). A tarball that can be extracted to / and installs a system image containing e.g. /usr/lib/python3.12 and /usr/share/, but no metadata outside of that. It apparently may have also generated a wheel at some point? But current versions of setuptools do no such thing. And wheels are what we actually want, since we uploaded them for years and they are faster for PyPI users to install. The canonical command name for producing wheels is actually "bdist_wheel" instead of "bdist_dumb". No clue what setuptools changed, about the latter, but the former definitely works.
2024-07-17Add script that builds releases.Jussi Pakkanen
2023-12-13Use SPDX-License-Identifier consistentlyDylan Baker
This replaces all of the Apache blurbs at the start of each file with an `# SPDX-License-Identifier: Apache-2.0` string. It also fixes existing uses to be consistent in capitalization, and to be placed above any copyright notices. This removes nearly 3000 lines of boilerplate from the project (only python files), which no developer cares to look at. SPDX is in common use, particularly in the Linux kernel, and is the recommended format for Meson's own `project(license: )` field
2023-10-01Mangle dashes as needed by WiX.Jussi Pakkanen
2023-08-01Upgrade MSI builder from WiX3 to WiX 4.Jussi Pakkanen
2023-07-25packaging: fix regression that prevented pyinstaller from getting custom depsEli Schwartz
mesonbuild.dependencies.* is now lazy-imported and not automatically detected. Add them as hidden imports. Fixes #12036
2023-05-25Autodetect installer path location.Jussi Pakkanen
2023-04-17fix data collection with pyinstallerEli Schwartz
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 Soref
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 projectHiPhish
The word "cannot" expresses inability to do something whereas "can not" expresses the ability to refrain from doing something.
2022-05-16Add optional compressjoshcangit
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 Schwartz
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 Schwartz
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 Schwartz
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 Pakkanen
2021-11-17MSI generator fixesJussi Pakkanen
2021-10-24Remove temp files that the macOS installer builder leaves hanging.Jussi Pakkanen
2021-10-24Fix MSI creation with Python 3.10.Jussi Pakkanen
2021-10-10Fix typos discovered by codespellChristian Clauss
2021-08-31pylint: turn on superflous-parensDylan Baker
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 Schwartz
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 Schwartz
2021-07-21Delete extra data dirs that cause problems for WiX.Jussi Pakkanen
2021-06-07Fix macpkg generator import path. [skip ci]Jussi Pakkanen
2021-05-18Add a script to create macOS installer packages.Jussi Pakkanen
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz
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 Pakkanen
2021-02-28Add filecmp to list of bundled modules. Closes #8431. [skip ci]Jussi Pakkanen
2021-02-28Remove remnants of 32 bit support. [skip ci]Jussi Pakkanen
2020-11-27Add script to create a zipapp.Eli Schwartz
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 Schwartz
We might want to create other dedicated packaging scripts, and put them all in one directory.