From patchwork Thu Jan 4 15:15:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 19361 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E602DC323E for ; Thu, 4 Jan 2024 15:15:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 309E462B49; Thu, 4 Jan 2024 16:15:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1704381342; bh=ZcSK8DWmeuMuuGk1ussBMX2p3H7e34Cg7bOyl7knu8A=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=nk+SM452FRlj+MNAeMGiynkiyd5PTVklemqLZe7+/0SORy7YoEpT/SnKCfX+PsyuD gF9MQgbCT1yPmuMbU1ac62Zpd5wnUQWbaJS/COGC20cF1IugN5jAlvb7ccJLTmxUrj P8cZaa5GPprvVn7qSqy0KYNo96DZS9Cfn/kIDsiSGe96rEVinVurDoeie66//O5n8a 88bqnT1m/Bql+8crra7WpyHtvqe6vKlWYfmNFHE7Q/eehA6UhN778lFRWy3Xb2WO49 oEwGvcYyJu5Z7NPuo69WpiNoCtC9FF44ADKFTHZ5Gn6IxVARxfLVRIxkzEhwRI6nfh c6p9mNGEf6ajw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5507261D82 for ; Thu, 4 Jan 2024 16:15:40 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="lXuM+qnk"; dkim-atps=neutral Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3BFEA2D8; Thu, 4 Jan 2024 16:14:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1704381279; bh=ZcSK8DWmeuMuuGk1ussBMX2p3H7e34Cg7bOyl7knu8A=; h=From:To:Cc:Subject:Date:From; b=lXuM+qnkD7JuQmaswgdx9Q41GZZhQsegDRPoHW1CGPdCTZHktFLX2QB0Wlt8h+PJk OSgWz1xVA9p5U9gxXFxmVVQywJRGCjdvLksN7K6ZZLZ/oFG7fMM+1Gj/NRw0LXRi31 d20c0CR4tfb0xMnn9wFy0Jbx/FRE/NehnQmT1PKM= To: libcamera-devel@lists.libcamera.org Date: Thu, 4 Jan 2024 17:15:40 +0200 Message-ID: <20240104151548.2589-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/8] libcamera: Update mojo and mojo updater X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Laurent Pinchart via libcamera-devel From: Laurent Pinchart Reply-To: Laurent Pinchart Cc: Khem Raj Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello, This patch series updates mojo to the most recent release of Chromium. The main motivation is to fix bug #206 ("Fails to build with Python 3.12"), handled in patch 8/8. I've taken this as an opportunity to improve the update-mojo.sh script, in patches 1/8 to 5/8. Patches 6/8 and 7/8 are updates to the generator script to take the mojo changes into account. Laurent Pinchart (8): utils: update-mojo.sh: Properly remove old sources utils: update-mojo.sh: Exit immediately on error utils: update-mojo.sh: Change to the libcamera source directory utils: update-mojo.sh: Reject a dirty libcamera tree utils: update-mojo.sh: Commit the mojo update utils: ipc: generate.py: Add bindings directory to Python path utils: ipc: generate.py: Disable attributes checker utils: ipc: Update mojo utils/ipc/generate.py | 12 +- utils/ipc/mojo/README | 2 +- utils/ipc/mojo/public/LICENSE | 2 +- utils/ipc/mojo/public/tools/BUILD.gn | 8 +- utils/ipc/mojo/public/tools/bindings/BUILD.gn | 36 +- .../ipc/mojo/public/tools/bindings/README.md | 239 +++-- .../public/tools/bindings/checks/__init__.py | 0 .../bindings/checks/mojom_attributes_check.py | 170 ++++ .../checks/mojom_attributes_check_unittest.py | 194 ++++ .../checks/mojom_definitions_check.py | 34 + .../checks/mojom_interface_feature_check.py | 62 ++ .../mojom_interface_feature_check_unittest.py | 173 ++++ .../checks/mojom_restrictions_check.py | 102 +++ .../mojom_restrictions_checks_unittest.py | 254 ++++++ .../chromium_bindings_configuration.gni | 51 -- .../tools/bindings/compile_typescript.py | 27 - .../tools/bindings/concatenate-files.py | 5 +- ...concatenate_and_replace_closure_exports.py | 10 +- .../bindings/format_typemap_generator_args.py | 36 - .../tools/bindings/gen_data_files_list.py | 2 +- .../tools/bindings/generate_type_mappings.py | 4 +- .../tools/bindings/minify_with_terser.py | 47 + .../ipc/mojo/public/tools/bindings/mojom.gni | 853 ++++++++++-------- .../bindings/mojom_bindings_generator.py | 62 +- .../mojom_bindings_generator_unittest.py | 6 +- .../tools/bindings/mojom_types_downgrader.py | 119 --- .../tools/bindings/validate_typemap_config.py | 5 +- utils/ipc/mojo/public/tools/mojom/BUILD.gn | 18 + .../mojom/check_stable_mojom_compatibility.py | 69 +- ...eck_stable_mojom_compatibility_unittest.py | 87 +- .../mojo/public/tools/mojom/const_unittest.py | 2 +- .../mojo/public/tools/mojom/enum_unittest.py | 30 +- .../public/tools/mojom/feature_unittest.py | 84 ++ .../mojo/public/tools/mojom/mojom/BUILD.gn | 3 +- .../mojo/public/tools/mojom/mojom/error.py | 2 +- .../mojo/public/tools/mojom/mojom/fileutil.py | 3 +- .../tools/mojom/mojom/fileutil_unittest.py | 7 +- .../tools/mojom/mojom/generate/check.py | 26 + .../mojom/mojom/generate/constant_resolver.py | 93 -- .../tools/mojom/mojom/generate/generator.py | 11 +- .../mojom/generate/generator_unittest.py | 9 +- .../tools/mojom/mojom/generate/module.py | 783 +++++++++++----- .../mojom/mojom/generate/module_unittest.py | 2 +- .../public/tools/mojom/mojom/generate/pack.py | 151 +++- .../mojom/mojom/generate/pack_unittest.py | 30 +- .../mojom/mojom/generate/template_expander.py | 2 +- .../tools/mojom/mojom/generate/translate.py | 464 +++++++++- .../mojom/generate/translate_unittest.py | 82 +- .../public/tools/mojom/mojom/parse/ast.py | 145 +-- .../tools/mojom/mojom/parse/ast_unittest.py | 12 +- .../mojom/mojom/parse/conditional_features.py | 21 +- .../parse/conditional_features_unittest.py | 155 +++- .../public/tools/mojom/mojom/parse/lexer.py | 8 +- .../tools/mojom/mojom/parse/lexer_unittest.py | 10 +- .../public/tools/mojom/mojom/parse/parser.py | 108 ++- .../mojom/mojom/parse/parser_unittest.py | 39 +- .../mojo/public/tools/mojom/mojom_parser.py | 119 ++- .../tools/mojom/mojom_parser_test_case.py | 6 +- .../tools/mojom/mojom_parser_unittest.py | 31 +- .../tools/mojom/stable_attribute_unittest.py | 2 +- .../mojo/public/tools/mojom/union_unittest.py | 44 + .../mojom/version_compatibility_unittest.py | 73 +- .../public/tools/run_all_python_unittests.py | 8 +- utils/ipc/tools/README | 2 +- utils/ipc/tools/diagnosis/crbug_1001171.py | 2 +- utils/update-mojo.sh | 50 +- 66 files changed, 3877 insertions(+), 1431 deletions(-) create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/__init__.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py create mode 100644 utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py delete mode 100644 utils/ipc/mojo/public/tools/bindings/chromium_bindings_configuration.gni delete mode 100644 utils/ipc/mojo/public/tools/bindings/compile_typescript.py delete mode 100755 utils/ipc/mojo/public/tools/bindings/format_typemap_generator_args.py create mode 100755 utils/ipc/mojo/public/tools/bindings/minify_with_terser.py delete mode 100755 utils/ipc/mojo/public/tools/bindings/mojom_types_downgrader.py create mode 100644 utils/ipc/mojo/public/tools/mojom/BUILD.gn create mode 100644 utils/ipc/mojo/public/tools/mojom/feature_unittest.py create mode 100644 utils/ipc/mojo/public/tools/mojom/mojom/generate/check.py delete mode 100644 utils/ipc/mojo/public/tools/mojom/mojom/generate/constant_resolver.py create mode 100644 utils/ipc/mojo/public/tools/mojom/union_unittest.py base-commit: 577e0c6b7659f24c04476e675ea85cb666a87764