package/meson: import lzma only when needed

Fixes
http://autobuild.buildroot.net/results/49d/49d89e419edc34ec77129d748ac573f89dfddbae/
and many, many, many more.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Arnout: extend patch commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Bernd Kuhls 2019-10-19 10:03:24 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 13030c863a
commit dbfedd709e

View file

@ -0,0 +1,50 @@
From a3443360c8c0014638366d5bb2f5aa7683d5aec2 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sat, 19 Oct 2019 09:52:06 +0200
Subject: [PATCH] mdist.py: import lzma only when needed
Importing lzma requires that python was built with lzma support. Buildroot
builds its own version of python, without lzma support (i.e. without
dependency on host-xz).
lzma is anyway only needed to make the dist target, which we don't do in
Buildroot. Therefore, in the Buildroot context, everything still works
properly without lzma support.
Moving the import down to the place where it is actually needed does not
remove any functionality but fixes the problem for Buildroot.
Source of patch:
http://lists.busybox.net/pipermail/buildroot/2019-October/262990.html
http://code.bulix.org/gdxcu4-914360
Fixes https://github.com/mesonbuild/meson/issues/6012
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
mesonbuild/mdist.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/mdist.py b/mesonbuild/mdist.py
index 7b753826..28e2fced 100644
--- a/mesonbuild/mdist.py
+++ b/mesonbuild/mdist.py
@@ -13,7 +13,6 @@
# limitations under the License.
-import lzma
import gzip
import os
import sys
@@ -133,6 +132,7 @@ def create_dist_hg(dist_name, archives, src_root, bld_root, dist_sub, dist_scrip
if dist_scripts:
mlog.warning('dist scripts are not supported in Mercurial projects')
if 'xztar' in archives:
+ import lzma
with lzma.open(xzname, 'wb') as xf, open(tarname, 'rb') as tf:
shutil.copyfileobj(tf, xf)
output_names.append(xzname)
--
2.20.1