blob: c8e732679b43b903dd78e85ad6ef25cc86f8cec8 [file] [log] [blame]
Nahhk7117b472025-03-19 06:23:56 -05001#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
2#
3# SPDX-FileCopyrightText: 2024 The LineageOS Project
4# SPDX-License-Identifier: Apache-2.0
5#
6
7from extract_utils.fixups_blob import (
8 blob_fixup,
9 blob_fixups_user_type,
10)
11from extract_utils.fixups_lib import (
12 lib_fixup_remove,
13 lib_fixups,
14 lib_fixups_user_type,
15)
16from extract_utils.main import (
17 ExtractUtils,
18 ExtractUtilsModule,
19)
20
21namespace_imports = [
22 'device/xiaomi/sm6225-common',
Nikita Savchenko89cc3bf2025-07-03 15:30:32 +000023 'hardware/qcom-caf/sm6225',
24 'hardware/qcom-caf/wlan',
25 'hardware/xiaomi',
26 'vendor/qcom/opensource/commonsys-intf/display',
27 'vendor/qcom/opensource/dataservices',
Nahhk7117b472025-03-19 06:23:56 -050028]
29
30
Nikita Savchenko89cc3bf2025-07-03 15:30:32 +000031libs_add_vendor_suffix = (
32 'vendor.qti.hardware.qccsyshal@1.0',
33 'vendor.qti.hardware.qccsyshal@1.1',
34 'vendor.qti.hardware.qccsyshal@1.2',
35 'vendor.qti.hardware.qccvndhal@1.0',
36 'vendor.qti.hardware.sigma_miracast@1.0',
37 'vendor.qti.hardware.wifidisplaysession@1.0',
38 'vendor.qti.imsrtpservice@3.0',
39 'vendor.qti.imsrtpservice@3.1',
40 'vendor.qti.diaghal@1.0',
41 'com.qualcomm.qti.dpm.api@1.0',
42)
43
44libs_remove = (
45 'libar-pal',
46 'libar-acdb',
47 'liblx-osal',
48 'libats',
49 'libagm',
50 'libpalclient',
51)
52
53
Nahhk7117b472025-03-19 06:23:56 -050054def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
55 return f'{lib}_{partition}' if partition == 'vendor' else None
56
57
58lib_fixups: lib_fixups_user_type = {
59 **lib_fixups,
Nikita Savchenko89cc3bf2025-07-03 15:30:32 +000060 libs_add_vendor_suffix: lib_fixup_vendor_suffix,
61 libs_remove: lib_fixup_remove,
Nahhk7117b472025-03-19 06:23:56 -050062}
63
64blob_fixups: blob_fixups_user_type = {
LuK1337a75ab3b2025-04-01 16:11:23 +020065 'system_ext/bin/wfdservice64': blob_fixup()
66 .add_needed('libwfdservice_shim.so'),
LuK1337ba756d42024-10-12 17:42:02 +020067 'system_ext/lib64/libwfdmmsrc_system.so': blob_fixup()
68 .add_needed('libgui_shim.so'),
69 'system_ext/lib64/libwfdnative.so': blob_fixup()
Nick Reuterad4f0202024-12-10 20:32:13 -060070 .add_needed('libbinder_shim.so')
LuK1337ba756d42024-10-12 17:42:02 +020071 .add_needed('libinput_shim.so'),
Michael Bestasd1e8a902024-08-25 21:46:46 +030072 'system_ext/lib64/libwfdservice.so': blob_fixup()
73 .replace_needed('android.media.audio.common.types-V2-cpp.so', 'android.media.audio.common.types-V4-cpp.so'),
Cosmin Tanislav26c22112024-08-16 14:47:52 +030074 ('vendor/bin/hw/android.hardware.security.keymint-service-qti', 'vendor/lib64/libqtikeymint.so'): blob_fixup()
Aaron Kling96b00602024-08-18 17:05:38 -050075 .add_needed('android.hardware.security.rkp-V1-ndk.so'),
Arian52f4d322024-09-06 14:01:17 +020076 'vendor/lib64/vendor.libdpmframework.so': blob_fixup()
77 .add_needed('libhidlbase_shim.so'),
Bruno Martinsb5701922024-10-01 14:42:47 +010078 'vendor/lib64/libqcodec2_core.so': blob_fixup()
79 .add_needed('libcodec2_shim.so'),
80} # fmt: skip
Nahhk7117b472025-03-19 06:23:56 -050081
82module = ExtractUtilsModule(
83 'sm6225-common',
84 'xiaomi',
85 blob_fixups=blob_fixups,
86 lib_fixups=lib_fixups,
87 namespace_imports=namespace_imports,
88)
89
90if __name__ == '__main__':
91 utils = ExtractUtils.device(module)
92 utils.run()