From 5d11b67ad219f7595134c2d8ea08a0b229de7b3c Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Mon, 24 Mar 2025 01:11:59 -0300 Subject: [PATCH] pyinstaller: use wildcard matching when excluding binaries --- build.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/build.spec b/build.spec index 58ff4f7..14ad0c7 100755 --- a/build.spec +++ b/build.spec @@ -3,6 +3,7 @@ from __future__ import annotations import sys import platform +import fnmatch from pathlib import Path from typing import Any, TYPE_CHECKING @@ -91,13 +92,16 @@ a = Analysis( win_no_prefer_redirects=False, ) -# Exclude unneeded Linux libraries +# Exclude unneeded Linux libraries (supports globbing) excluded_binaries = [ - "libicudata.so.66", - "libicuuc.so.66", - "librsvg-2.so.2" + "libicudata.so.*", + "libicuuc.so.*", + "librsvg-*.so.*" +] +a.binaries = [ + b for b in a.binaries + if not any(fnmatch.fnmatch(b[0], pattern) for pattern in excluded_binaries) ] -a.binaries = [b for b in a.binaries if b[0] not in excluded_binaries] pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(