From 293499724847970d5e469979fc2136a0e09f7734 Mon Sep 17 00:00:00 2001 From: Osmo Salomaa Date: Sun, 27 May 2018 23:36:36 +0300 Subject: [PATCH] Include compiled extension files in setup.py --record Closes #91 --- TODO.md | 4 ++++ setup.py | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/TODO.md b/TODO.md index e69de29b..b3d688c3 100644 --- a/TODO.md +++ b/TODO.md @@ -0,0 +1,4 @@ +Gaupol 1.4.1/1.5 +================ + +* [x] Make 'setup.py --record' include compiled extensios as well (#91) diff --git a/setup.py b/setup.py index 161d96cc..5af1628c 100755 --- a/setup.py +++ b/setup.py @@ -33,6 +33,7 @@ import distutils import glob +import importlib import os import re import shutil @@ -233,6 +234,16 @@ def __build_extensions(self): data_dir = os.path.join(data_dir, "share", "gaupol") files = glob.glob("{}/extensions/*/*.py".format(data_dir)) distutils.util.byte_compile(files, optimize, self.force, self.dry_run) + # Figure out paths of the compiled files and add them to + # self.outfiles so that 'setup.py --record' works correctly. + def get_cache_pattern(path): + dir, file = os.path.split(path) + file = os.path.splitext(file)[0] + ".*" + return os.path.join(dir, "__pycache__", file) + for pattern in map(get_cache_pattern, files): + for file in glob.glob(pattern): + if not file in self.outfiles: + self.outfiles.append(file) def __generate_linguas(self): """Generate LINGUAS file needed by msgfmt."""