blob: 5454caa9e2cb62ee499cdc525056f2c49f23c225 [file] [log] [blame]
ParsaAslaniYC910520f2025-10-23 11:26:10 +00001#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
2#
3# SPDX-FileCopyrightText: 2025 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_fixups,
13)
14from extract_utils.main import (
15 ExtractUtils,
16 ExtractUtilsModule,
17)
18
19namespace_imports = [
20 'device/xiaomi/sm8450-common',
21 'hardware/qcom-caf/sm8450',
22 'hardware/xiaomi',
23 'vendor/qcom/opensource/commonsys-intf/display',
24 'vendor/xiaomi/sm8450-common',
25]
26
27blob_fixups: blob_fixups_user_type = {
28 (
29 'vendor/etc/camera/ingres_enhance_motiontuning.xml',
30 'vendor/etc/camera/ingres_motiontuning.xml',
31 ): blob_fixup().regex_replace('xml=version', 'xml version'),
32 (
33 'vendor/etc/camera/pureShot_parameter.xml',
34 'vendor/etc/camera/pureView_parameter.xml',
35 ): blob_fixup().regex_replace(r'=([0-9]+)>', r'="\1">'),
36 (
37 'vendor/lib64/hw/com.qti.chi.override.so',
38 'vendor/lib64/libcamxcommonutils.so',
39 'vendor/lib64/libmialgoengine.so',
40 ): blob_fixup().add_needed('libprocessgroup_shim.so'),
41 (
42 'vendor/lib64/libTrueSight.so',
43 'vendor/lib64/libmorpho_ubwc.so',
44 ): blob_fixup()
45 .clear_symbol_version('AHardwareBuffer_allocate')
46 .clear_symbol_version('AHardwareBuffer_describe')
47 .clear_symbol_version('AHardwareBuffer_isSupported')
48 .clear_symbol_version('AHardwareBuffer_lock')
49 .clear_symbol_version('AHardwareBuffer_lockPlanes')
50 .clear_symbol_version('AHardwareBuffer_release')
51 .clear_symbol_version('AHardwareBuffer_unlock'),
52 'vendor/lib64/libcamximageformatutils.so': blob_fixup().replace_needed(
53 'vendor.qti.hardware.display.config-V2-ndk_platform.so',
54 'vendor.qti.hardware.display.config-V2-ndk.so',
55 ),
56 'vendor/lib64/libmialgo_pureShot.so': blob_fixup()
57 .clear_symbol_version('remote_handle64_close')
58 .clear_symbol_version('remote_handle64_invoke')
59 .clear_symbol_version('remote_handle64_open')
60 .clear_symbol_version('remote_register_buf_attr'),
61}
62
63module = ExtractUtilsModule(
64 'ingres',
65 'xiaomi',
66 blob_fixups=blob_fixups,
67 lib_fixups=lib_fixups,
68 namespace_imports=namespace_imports,
69 check_elf=True,
70 add_firmware_proprietary_file=False,
71)
72
73if __name__ == '__main__':
74 utils = ExtractUtils.device_with_common(
75 module, 'sm8450-common', module.vendor
76 )
77 utils.run()