diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-05-31 12:58:50 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-05-31 12:58:50 +0300 |
commit | 63d101674d176338b51f00e7a01be13933caac76 (patch) | |
tree | 8cb2155ffc688ff4b37d99637c532ea887631caf /wrap.py | |
parent | b896af9c5fdd8386b7ee5ca965eae21506c6d64d (diff) | |
download | meson-63d101674d176338b51f00e7a01be13933caac76.zip meson-63d101674d176338b51f00e7a01be13933caac76.tar.gz meson-63d101674d176338b51f00e7a01be13933caac76.tar.bz2 |
Can create a subdirectory for projects whose zip files do not have one.
Diffstat (limited to 'wrap.py')
-rw-r--r-- | wrap.py | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -132,8 +132,18 @@ class Resolver: pass except ImportError: pass - if os.path.isdir(os.path.join(self.subdir_root, package.get('directory'))): + target_dir = os.path.join(self.subdir_root, package.get('directory')) + if os.path.isdir(target_dir): return - shutil.unpack_archive(os.path.join(self.cachedir, package.get('source_filename')), self.subdir_root) + extract_dir = self.subdir_root + # Some upstreams ship packages that do not have a leading directory. + # Create one for them. + try: + package.get('lead_directory_missing') + os.mkdir(target_dir) + extract_dir = target_dir + except KeyError: + pass + shutil.unpack_archive(os.path.join(self.cachedir, package.get('source_filename')), extract_dir) if package.has_patch(): shutil.unpack_archive(os.path.join(self.cachedir, package.get('patch_filename')), self.subdir_root) |