diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-12-06 16:14:22 -0500 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-12-27 20:29:46 -0500 |
commit | 2fa074917597fea0cf3332c6620d3414034825e4 (patch) | |
tree | 787dc86c8affa560710340a76dcdbbbf7794ff86 /mesonbuild/backend/backends.py | |
parent | 26b83eee9427889b5b006079872aa288bc0ffaed (diff) | |
download | meson-2fa074917597fea0cf3332c6620d3414034825e4.zip meson-2fa074917597fea0cf3332c6620d3414034825e4.tar.gz meson-2fa074917597fea0cf3332c6620d3414034825e4.tar.bz2 |
add license_files kwarg to project
Hook this up to installed dependency manifests. This is often needed
above and beyond just an SPDX string -- e.g. many licenses have custom
copyright lines.
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 27004f8..843af5d 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -1191,7 +1191,9 @@ class Backend: return ifilename = os.path.join(self.environment.get_build_dir(), 'depmf.json') ofilename = os.path.join(self.environment.get_prefix(), self.build.dep_manifest_name) + odirname = os.path.join(self.environment.get_prefix(), os.path.dirname(self.build.dep_manifest_name)) out_name = os.path.join('{prefix}', self.build.dep_manifest_name) + out_dir = os.path.join('{prefix}', os.path.dirname(self.build.dep_manifest_name)) mfobj = {'type': 'dependency manifest', 'version': '1.0', 'projects': {k: v.to_json() for k, v in self.build.dep_manifest.items()}} with open(ifilename, 'w', encoding='utf-8') as f: @@ -1199,6 +1201,12 @@ class Backend: # Copy file from, to, and with mode unchanged d.data.append(InstallDataBase(ifilename, ofilename, out_name, None, '', tag='devel', data_type='depmf')) + for m in self.build.dep_manifest.values(): + for ifilename, name in m.license_files: + ofilename = os.path.join(odirname, name.relative_name()) + out_name = os.path.join(out_dir, name.relative_name()) + d.data.append(InstallDataBase(ifilename, ofilename, out_name, None, + m.subproject, tag='devel', data_type='depmf')) def get_regen_filelist(self) -> T.List[str]: '''List of all files whose alteration means that the build |