I recently ran into a very painful problem building an Electron app and using the node-sqlite3 bindings with SQLCipher. When my app was deployed to other macOS computers it would crash hard. After a week of digging, I discovered that I was building the node-sqlite3 bindings against libsqlcipher.a, which was in-turn built against a dynamically linked OpenSSL path from Homebrew (i.e. /usr/local/opt/openssl/lib/libcrypto.dylib). This caused my app to crash on computers that didn’t have OpenSSL installed via Homebrew.
I submitted a PR to homebrew/core that allows SQLCipher users to run
brew install sqlcipher --with-static-linking. That new option will build SQLCipher with static linking to OpenSSL so the app is deployable on non-Homebrew/OpenSSL computers. This discrepancy is also mentioned in the building from source instructions here: https://www.zetetic.net/sqlcipher/introduction/
Can I get a +1 and/or feedback on the PR? https://github.com/Homebrew/homebrew-core/pull/33617 Thanks.