lwthiker / curl-impersonate

curl-impersonate: A special build of curl that can impersonate Chrome & Firefox
MIT License
3.45k stars 229 forks source link

Homebrew unofficial receipt available #205

Open dzirtusss opened 7 months ago

dzirtusss commented 7 months ago

Have made unofficial tap homebrew reciept for curl-impersonate. Can be run as follows:

brew tap shakacode/brew
brew install curl-impersonate

https://github.com/shakacode/homebrew-brew/blob/main/Formula/curl-impersonate.rb

Will keep it updating as time allows, but no promises. As well, will be happy if gem mainters can take on it and make officially supported 😉

P.S. only chrome version atm, as I don't need FF and don't want to pollute with python code.


@lwthiker just FYI some minor technical issues on ^^^:

  1. /usr/local is a hardcoded path in configure. Will be nice if it can be env var as homebrew installs packages to /opt/homebrew on M1. Atm, had to patch.
  2. gmake is not able to cleanly build Makefile in parallel (which is a default mode in homebrew). Replicatable with gmake clean && gmake -j 8 chrome-build. Mostly happens because download task is not finished but say patching task is started. Atm, stick to single-thread build.
lwthiker commented 3 months ago

@dzirtusss Thank you, I will include it in the README.

Regarding the issues you faced:

/usr/local is a hardcoded path in configure

Have you tried using ./configure --prefix=/opt/homebrew?

gmake is not able to cleanly build Makefile in parallel

You are right, there are dependency issues in the Makefile. However, even when I fix them, it still fails to build in parallel. The inner invocations of cmake to compile brotli and boringssl fail with various weird errors. I still couldn't figure out what exactly happens there.