From d93fed567c22f8d5db3de21d324fff9839cb3c61 Mon Sep 17 00:00:00 2001 From: Tobias Gruetzmacher Date: Thu, 1 Oct 2020 15:51:09 +0200 Subject: [PATCH] Distribute PyInstaller hook This uses a feature introduced in PyInstaller 4.0 to register hooks as entry points and automatically discover them whenever a module is used. --- dosagelib/__pyinstaller/__init__.py | 6 ++++++ {scripts => dosagelib/__pyinstaller}/hook-dosagelib.py | 4 +--- setup.cfg | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 dosagelib/__pyinstaller/__init__.py rename {scripts => dosagelib/__pyinstaller}/hook-dosagelib.py (55%) diff --git a/dosagelib/__pyinstaller/__init__.py b/dosagelib/__pyinstaller/__init__.py new file mode 100644 index 000000000..11bc69d92 --- /dev/null +++ b/dosagelib/__pyinstaller/__init__.py @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) 2020 Tobias Gruetzmacher +import os + +def get_hook_dirs(): + return [os.path.dirname(__file__)] diff --git a/scripts/hook-dosagelib.py b/dosagelib/__pyinstaller/hook-dosagelib.py similarity index 55% rename from scripts/hook-dosagelib.py rename to dosagelib/__pyinstaller/hook-dosagelib.py index f597943fb..1784585af 100644 --- a/scripts/hook-dosagelib.py +++ b/dosagelib/__pyinstaller/hook-dosagelib.py @@ -1,7 +1,5 @@ # SPDX-License-Identifier: MIT -# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs -# Copyright (C) 2012-2014 Bastian Kleineidam -# Copyright (C) 2015-2017 Tobias Gruetzmacher +# Copyright (C) 2016-2020 Tobias Gruetzmacher from PyInstaller.utils.hooks import collect_submodules, copy_metadata hiddenimports = collect_submodules('dosagelib.plugins') diff --git a/setup.cfg b/setup.cfg index ee25d9181..dfe8a58d2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -46,6 +46,8 @@ setup_requires = [options.entry_points] console_scripts = dosage = dosagelib.cmd:main +pyinstaller40 = + hook-dirs = dosagelib.__pyinstaller:get_hook_dirs [options.extras_require] bash =