diff options
author | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-05-21 19:53:20 +0300 |
---|---|---|
committer | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-05-21 19:54:16 +0300 |
commit | 14de94ccd88bd7b7232da4a25364c1d9d8782387 (patch) | |
tree | e03415ce4558e8e2ee6ca0a1364b5e35b4ed09a3 /wrap.py | |
parent | 0ba1d545afe021e09090f434d5242ae942e7d5b4 (diff) | |
download | meson-14de94ccd88bd7b7232da4a25364c1d9d8782387.zip meson-14de94ccd88bd7b7232da4a25364c1d9d8782387.tar.gz meson-14de94ccd88bd7b7232da4a25364c1d9d8782387.tar.bz2 |
add support for tar.xz file. Closes #126
shutil.ReadError: Unknown archive format '/home/brain/meson_wrap/subprojects/packagecache/enet-meson.tar.xz'
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Diffstat (limited to 'wrap.py')
-rw-r--r-- | wrap.py | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -15,6 +15,7 @@ import mlog import urllib.request, os, hashlib, shutil import subprocess +import sys class PackageDefinition: def __init__(self, fname): @@ -121,6 +122,13 @@ class Resolver: open(ofname, 'wb').write(srcdata) def extract_package(self, package): + if sys.version_info < (3, 5): + try: + import lzma + del lzma + shutil.register_unpack_format('xztar', ['.tar.xz', '.txz'], shutil._unpack_tarfile, [], "xz'ed tar-file") + except ImportError: + pass if os.path.isdir(os.path.join(self.subdir_root, package.get('directory'))): return shutil.unpack_archive(os.path.join(self.cachedir, package.get('source_filename')), self.subdir_root) |