1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 setuptools, 6}: 7 8buildPythonPackage rec { 9 pname = "pyinstaller-hooks-contrib"; 10 version = "2025.9"; 11 12 pyproject = true; 13 14 src = fetchPypi { 15 pname = "pyinstaller_hooks_contrib"; 16 inherit version; 17 hash = "sha256-VulyvarU6a92ftR9EyNi0WIRImDL5IjJ2n/uAfIopaY="; 18 }; 19 20 build-system = [ setuptools ]; 21 22 # There are tests for every hook, which means that 23 # new updates are going to require changes to test inputs 24 # and building tests creates a very big closure. 25 doCheck = false; 26 27 meta = { 28 description = "Community maintained hooks for PyInstaller"; 29 longDescription = '' 30 A "hook" file extends PyInstaller to adapt it to the special needs and methods used by a Python package. 31 The word "hook" is used for two kinds of files. A runtime hook helps the bootloader to launch an app, 32 setting up the environment. A package hook (there are several types of those) tells PyInstaller 33 what to include in the final app - such as the data files and (hidden) imports mentioned above. 34 This repository is a collection of hooks for many packages, and allows PyInstaller to work with these packages seamlessly. 35 ''; 36 homepage = "https://github.com/pyinstaller/pyinstaller-hooks-contrib"; 37 # See https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/761 38 changelog = "https://github.com/pyinstaller/pyinstaller-hooks-contrib/blob/master/CHANGELOG.rst"; 39 license = with lib.licenses; [ 40 gpl2Plus 41 asl20 42 ]; 43 maintainers = with lib.maintainers; [ h7x4 ]; 44 }; 45}