milahu / nixpkgs

Nix Packages collection
MIT License
0 stars 0 forks source link

frida: build from source #17

Open milahu opened 6 months ago

milahu commented 6 months ago

currently nixpkgs has a binary build of frida https://github.com/NixOS/nixpkgs/pull/231229

probably based on nur.repos.dschrempf.frida-tools https://github.com/dschrempf/nur-packages/blob/master/pkgs/hacking/frida-tools/default.nix https://github.com/dschrempf/nur-packages/blob/master/pkgs/hacking/frida-python/default.nix

which is based on nur.repos.genesis.frida-tools https://github.com/bignaux/nur-packages/blob/master/pkgs/frida-tools/default.nix https://github.com/bignaux/nur-packages/blob/master/pkgs/frida-compile/default.nix https://github.com/bignaux/nur-packages/blob/master/pkgs/frida-agent-example/default.nix

build frida from source

building frida from source is complex because frida uses many patched dependencies and the whole build process is controlled by makefiles

my draft has about 200 commits, maybe can be squashed to 20 commits https://github.com/milahu/nixpkgs/tree/frida-init

i got the build working, but the python module failed to load because it failed to load the _frida.so library... i spent many hours on that problem alone, but i found no fix

you better have a fast build server, or this will take "forever" the most compile-time is needed for frida-v8 pkgs/development/tools/analysis/frida/v8/default.nix

also, i wanted to write an updater, which parses the pinned versions from makefiles but i got stuck, looking for a makefile parser see also pkgs/development/tools/analysis/frida/update.sh

cc @lf- via https://github.com/NixOS/nixpkgs/pull/254047 (i just found that by accident, i dont receive mentions since im banned from nixos)

related

lf- commented 6 months ago

Oh excellent work. I can try to upstream it piece by piece, first, just enough to package my project clipper.