+++ /dev/null
-###############################################################################
-# IPFire.org - An Open Source Firewall Solution #
-# Copyright (C) - IPFire Development Team <info@ipfire.org> #
-###############################################################################
-
-name = hyperscan
-version = 5.4.0
-release = 1.2
-
-groups = System/Libraries
-url = https://github.com/intel/hyperscan
-license = BSD
-summary = High-performance regular expression matching library
-
-description
- 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.
-end
-
-# This project is hosted on GitHub
-github_organization = intel
-github_version = v%{version}
-
-source_dl = %{github_url}
-
-build
- # This package only supports x86_64
- arches = x86_64
-
- requires
- boost-devel >= 1.57
- cmake
- gcc-c++
- pcre-devel
- ragel
- sqlite-devel
- end
-
- # Disable LTO
- LTO_CFLAGS =
-
- build
- %{cmake} . \
- -DBUILD_SHARED_LIBS:BOOL=ON \
- -DBUILD_STATIC_AND_SHARED:BOOL=OFF
-
- make %{PARALLELISMFLAGS}
- end
-end
-
-packages
- package %{name}
-
- package %{name}-devel
- template DEVEL
- end
-
- package %{name}-debuginfo
- template DEBUGINFO
- end
-end
+++ /dev/null
---- cmake/build_wrapper_orig.sh 2021-08-11 11:53:31.365377531 -0400
-+++ cmake/build_wrapper.sh 2021-08-11 11:54:03.003069431 -0400
-@@ -17,7 +17,7 @@
- LIBC_SO=$("$@" --print-file-name=libc.so.6)
- cp ${KEEPSYMS_IN} ${KEEPSYMS}
- # get all symbols from libc and turn them into patterns
--nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ ]*\).*/^\1$/' >> ${KEEPSYMS}
-+nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ @]*\).*/^\1$/' >> ${KEEPSYMS}
- # build the object
- "$@"
- # rename the symbols in the object
--- /dev/null
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
+
+name = vectorscan
+version = 5.4.11
+release = 1
+
+groups = System/Libraries
+url = https://github.com/VectorCamp/vectorscan
+license = BSD
+summary = High-performance regular expression matching library
+
+description
+ A fork of Intel's Hyperscan, modified to run on more platforms.
+ Currently ARM NEON/ASIMD and Power VSX are 100% functional. ARM SVE2
+ support is in ongoing with access to hardware now. More platforms will
+ follow in the futur. Further more there is now a SIMDe port, which
+ can be either used for platforms without official SIMD support, as
+ SIMDe can emulate SIMD instructions, or as an alternative backend
+ for existing architectures, for reference and comparison purposes.
+end
+
+# This project is hosted on GitHub
+github_organization = VectorCamp
+github_version = %{name}/%{version}
+
+source_dl = %{github_url}
+
+build
+ # This package only supports aarch64 and x86_64
+ arches = aarch64 x86_64
+
+ requires
+ boost-devel >= 1.57
+ cmake
+ gcc-c++
+ pcre-devel
+ ragel
+ sqlite-devel
+ end
+
+ DIR_APP = %{DIR_SRC}/%{name}-%{name}-%{version}
+
+ # Disable LTO
+ LTO_CFLAGS =
+
+ if "%{arch}" == "aarch64"
+ arch_flags += \
+ -DFAT_RUNTIME=ON \
+ -DBUILD_SVE=ON \
+ -DBUILD_SVE2=ON \
+ -DBUILD_SVE2_BITPERM=ON
+ end
+
+ if "%{arch}" == "x86_64"
+ arch_flags += \
+ -DFAT_RUNTIME=ON \
+ -DBUILD_AVX2=ON \
+ -DBUILD_AVX512=ON \
+ -DBUILD_AVX512VBMI=ON
+ end
+
+ build
+ %{cmake} . \
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -DBUILD_STATIC_AND_SHARED:BOOL=OFF \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DBUILD_EXAMPLES=OFF \
+ %{arch_flags}
+
+ make %{PARALLELISMFLAGS}
+ end
+end
+
+packages
+ package %{name}
+ # This replaces hyperscan
+ provides = hyperscan
+ obsoletes = hyperscan < 5.4.3
+ end
+
+ package %{name}-devel
+ template DEVEL
+
+ # This replaces hyperscan-devel
+ provides = hyperscan-devel
+ obsoletes = hyperscan-devel < 5.4.3
+ end
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
+end