open-obfuscator / o-mvll

:electron: O-MVLL is a LLVM-based obfuscator for native code (Android & iOS)
https://obfuscator.re/omvll
Apache License 2.0
574 stars 62 forks source link

Include python inside distribution #40

Closed sevilS closed 1 month ago

sevilS commented 2 months ago

The build process will generate a package inside dist folder with the following distribution: ANDROID omvll_ndk_r25c.so Python-3.10.7 (folder) sample-omvll-config.py

iOS omvll_xcode_14.dylib Python-3.10.7 (folder) sample-omvll-config.py

marcobrador commented 2 months ago

I see this strongly related to #23 - should we combine both?

sevilS commented 2 months ago

I see this strongly related to #23 - should we combine both?

Not sure, this #23 is something related to the tests itself, isn't it? this is more related to the distrib package

marcobrador commented 2 months ago

@sevilS yes - problems are different but solution seems to be the same, or am I missing something?

antoniofrighetto commented 2 months ago

We should only need the Python standard library, not the entire tarball.

sevilS commented 2 months ago

We should only need the Python standard library, not the entire tarball.

I know, but it does not makes much sense to strip the Python package, as it is an entire dependency which has the Lib folder, it makes life of our users easier as they will only replace the entire package and that's it

weliveindetail commented 2 months ago

LGTM!

My only note would be, that the version of the Python stdlib here must match the version you are linking statically at build-time: https://github.com/open-obfuscator/o-mvll/blob/02d6067a7f8986afb3b34d02c182c2fc235a2a72/src/CMakeLists.txt#L26 I guess it could be enforced in CMake with something like Python3 3.10 EXACT. Even better might be to put the stdlib into the deps package as well. If both artifacts come from one source, it's more obvious that they are version-locked.