You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I experimented in a local copy on an M1 MacBook Pro, and was able to get Nosey Parker building and running there using vectorscan instead of hyperscan. The build process for that experiment was rather manual:
Install boost, ragel, cmake, etc in order to build vectorscan from source
Build vectorscan
Ensure vectorscan's test suite passed
export HYPERSCAN_ROOT=$PATH_TO_VECTORSCAN_BUILD (causes the hyperscan-sys crate to use vectorscan instead)
cargo build --release for Nosey Parker
After this process, I was able to run Nosey Parker on the M1 MacBook Pro, and it seemed to behave as expected. The resulting binary was also statically linked against vectorscan, and didn't have a dynamic dependency on libhs.
I'd like to figure out how to streamline this build process so that nothing more than a cargo build in Nosey Parker is required.
The text was updated successfully, but these errors were encountered:
This commit switches from using the `rust-hyperscan` crate to using a custom set of bindings based on those found in `pyperscan`. These new custom bindings statically link against a bundled version of Vectorscan that is built from source, instead of linking sometimes non-statically against Hyperscan.
These new custom bindings appear in the `vectorscan` and `vectorscan-sys` directories.
These changes make it simpler to build Nosey Parker from source, especially on ARM systems, and make it feasible to distribute prebuilt binaries in future releases (#28).
Fixes#5.
References:
- https://github.com/flier/rust-hyperscan
- https://github.com/vlaci/pyperscan
- https://github.com/Vectorcamp/vectorscan
- https://github.com/intel/hyperscan
Hyperscan only supports x86. It has been forked, however, to support ARM and other architectures as well: https://github.com/vectorcamp/vectorscan
I experimented in a local copy on an M1 MacBook Pro, and was able to get Nosey Parker building and running there using vectorscan instead of hyperscan. The build process for that experiment was rather manual:
export HYPERSCAN_ROOT=$PATH_TO_VECTORSCAN_BUILD
(causes thehyperscan-sys
crate to use vectorscan instead)cargo build --release
for Nosey ParkerAfter this process, I was able to run Nosey Parker on the M1 MacBook Pro, and it seemed to behave as expected. The resulting binary was also statically linked against vectorscan, and didn't have a dynamic dependency on
libhs
.I'd like to figure out how to streamline this build process so that nothing more than a
cargo build
in Nosey Parker is required.The text was updated successfully, but these errors were encountered: