From 30e9938cd3ac29cd9b90eff7180aab928c0416d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Wed, 24 Apr 2024 12:00:01 +0200 Subject: [PATCH] Move _frida package inside the frida package So we only have one top-level package, to avoid confusing IDEs. --- frida/__init__.py | 2 +- {_frida => frida/_frida}/__init__.pyi | 0 src/_frida.c => frida/_frida/extension.c | 0 src/_frida.version => frida/_frida/extension.version | 0 {src => frida/_frida}/meson.build | 11 +++++++++-- {_frida => frida/_frida}/py.typed | 0 frida/core.py | 2 +- frida/meson.build | 8 +++++--- meson.build | 1 - setup.py | 8 ++++---- 10 files changed, 20 insertions(+), 12 deletions(-) rename {_frida => frida/_frida}/__init__.pyi (100%) rename src/_frida.c => frida/_frida/extension.c (100%) rename src/_frida.version => frida/_frida/extension.version (100%) rename {src => frida/_frida}/meson.build (61%) rename {_frida => frida/_frida}/py.typed (100%) diff --git a/frida/__init__.py b/frida/__init__.py index a133dfb9..a8af9ae4 100644 --- a/frida/__init__.py +++ b/frida/__init__.py @@ -1,7 +1,7 @@ from typing import Any, Callable, Dict, List, Optional, Tuple, Union try: - import _frida + from . import _frida except Exception as ex: print("") print("***") diff --git a/_frida/__init__.pyi b/frida/_frida/__init__.pyi similarity index 100% rename from _frida/__init__.pyi rename to frida/_frida/__init__.pyi diff --git a/src/_frida.c b/frida/_frida/extension.c similarity index 100% rename from src/_frida.c rename to frida/_frida/extension.c diff --git a/src/_frida.version b/frida/_frida/extension.version similarity index 100% rename from src/_frida.version rename to frida/_frida/extension.version diff --git a/src/meson.build b/frida/_frida/meson.build similarity index 61% rename from src/meson.build rename to frida/_frida/meson.build index acb6085f..21b02d4e 100644 --- a/src/meson.build +++ b/frida/_frida/meson.build @@ -1,14 +1,21 @@ +py_sources = [ + '__init__.pyi', + 'py.typed', +] +python.install_sources(py_sources, subdir: 'frida' / '_frida', pure: false) + extra_link_args = [] if host_os_family == 'darwin' extra_link_args += '-Wl,-exported_symbol,_PyInit__frida' elif host_os_family != 'windows' - extra_link_args += '-Wl,--version-script,' + meson.current_source_dir() / '_frida.version' + extra_link_args += '-Wl,--version-script,' + meson.current_source_dir() / 'extension.version' endif -extension = python.extension_module('_frida', '_frida.c', +extension = python.extension_module('_frida', 'extension.c', limited_api: '3.7', c_args: frida_component_cflags, link_args: extra_link_args, dependencies: [python_dep, frida_core_dep, os_deps], install: true, + subdir: 'frida', ) diff --git a/_frida/py.typed b/frida/_frida/py.typed similarity index 100% rename from _frida/py.typed rename to frida/_frida/py.typed diff --git a/frida/core.py b/frida/core.py index 07ae609c..d6746ab2 100644 --- a/frida/core.py +++ b/frida/core.py @@ -38,7 +38,7 @@ else: from typing_extensions import NotRequired -import _frida +from . import _frida _device_manager = None diff --git a/frida/meson.build b/frida/meson.build index 5e352509..1def27c5 100644 --- a/frida/meson.build +++ b/frida/meson.build @@ -1,6 +1,8 @@ -frida_sources = [ +subdir('_frida') + +py_sources = [ '__init__.py', 'core.py', + 'py.typed', ] - -python.install_sources(frida_sources, subdir: 'frida', pure: false) +python.install_sources(py_sources, subdir: 'frida', pure: false) diff --git a/meson.build b/meson.build index cd28d4d2..aa96710a 100644 --- a/meson.build +++ b/meson.build @@ -30,7 +30,6 @@ if host_os_family != 'windows' os_deps += dependency('gio-unix-2.0') endif -subdir('src') subdir('frida') test('frida-python', python, diff --git a/setup.py b/setup.py index 9e24942b..0d7c3a78 100644 --- a/setup.py +++ b/setup.py @@ -51,12 +51,12 @@ def main(): "Topic :: Software Development :: Debuggers", "Topic :: Software Development :: Libraries :: Python Modules", ], - packages=["frida", "_frida"], - package_data={"frida": ["py.typed"], "_frida": ["py.typed", "__init__.pyi"]}, + packages=["frida", "frida._frida"], + package_data={"frida": ["py.typed"], "frida._frida": ["py.typed", "__init__.pyi"]}, ext_modules=[ Extension( - name="_frida", - sources=["src/_frida.c"], + name="frida._frida", + sources=["frida/_frida/extension.c"], py_limited_api=True, ) ],