mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 12:53:59 +03:00
hyperscan: init at 5.0.0
This commit is contained in:
parent
12a5b53ce2
commit
3e1acb0b44
69
pkgs/development/libraries/hyperscan/default.nix
Normal file
69
pkgs/development/libraries/hyperscan/default.nix
Normal file
@ -0,0 +1,69 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, ragel, python27
|
||||
, boost
|
||||
}:
|
||||
|
||||
# NOTICE: pkgconfig, pcap and pcre intentionally omitted from build inputs
|
||||
# pcap used only in examples, pkgconfig used only to check for pcre
|
||||
# which is fixed 8.41 version requirement (nixpkgs have 8.42+, and
|
||||
# I not see any reason (for now) to backport 8.41.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "hyperscan";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "hyperscan";
|
||||
sha256 = "017dxg0n3gn9i4j27rcvpnp4rkqgycqni6x5d15dqpidl7zg7059";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = [ boost ];
|
||||
nativeBuildInputs = [ cmake ragel python27 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DFAT_RUNTIME=ON"
|
||||
"-DBUILD_AVX512=ON"
|
||||
"-DBUILD_STATIC_AND_SHARED=ON"
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
sed -i '/examples/d' CMakeLists.txt
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $dev/lib
|
||||
mv $out/lib/*.a $dev/lib/
|
||||
ln -sf $out/lib/libhs.so $dev/lib/
|
||||
ln -sf $out/lib/libhs_runtime.so $dev/lib/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
sed -i "s,$out/include,$dev/include," $dev/lib/pkgconfig/libhs.pc
|
||||
sed -i "s,$out/lib,$dev/lib," $dev/lib/pkgconfig/libhs.pc
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "High-performance multiple regex matching library";
|
||||
longDescription = ''
|
||||
Hyperscan is a high-performance multiple regex matching library.
|
||||
It follows the regular expression syntax of the commonly-used
|
||||
libpcre library, but is a standalone library with its own C API.
|
||||
|
||||
Hyperscan uses hybrid automata techniques to allow simultaneous
|
||||
matching of large numbers (up to tens of thousands) of regular
|
||||
expressions and for the matching of regular expressions across
|
||||
streams of data.
|
||||
|
||||
Hyperscan is typically used in a DPI library stack.
|
||||
'';
|
||||
|
||||
homepage = https://www.hyperscan.io/;
|
||||
maintainers = with lib.maintainers; [ avnik ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
}
|
@ -10201,6 +10201,8 @@ with pkgs;
|
||||
|
||||
hyena = callPackage ../development/libraries/hyena { mono = mono4; };
|
||||
|
||||
hyperscan = callPackage ../development/libraries/hyperscan { };
|
||||
|
||||
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
|
||||
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
|
||||
} //
|
||||
|
Loading…
Reference in New Issue
Block a user