123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- %global vectorscan_tag d29730e1cb9daaa66bda63426cdce83505d2c809
- %global __cmake_in_source_build 1
- %global _lto_cflags %{nil}
- Name: vectorscan
- Summary: A portable fork of hyperscan, used as a high performance pcre replacement
- Version: 5.4.11
- Release: 9%{?_dist_release}
- Group: system
- # note google test framework not part of shipped binary
- # vectorscan is BSD-3-Clause but it utilizes boost, which is a C++ template
- # library and ends up embedded in the binary. BSL is included here for
- # completeness for this reason, but may not strictly be required as
- # the source is contained in the boost-devel packages.
- License: BSD-3-Clause AND BSL-1.0
- # https://bugzilla.redhat.com/show_bug.cgi?id=2264465
- ExcludeArch: s390x
- URL: https://github.com/VectorCamp/vectorscan
- Source0: https://github.com/VectorCamp/vectorscan/archive/%{vectorscan_tag}.tar.gz
- Patch0: 0001-Change-PPC-default-to-power8.patch
- Patch1: 0001-documentation-Add-cmake-option-to-build-man-pages.patch
- # hyperscan is x86 only, so lets obsolete it. There is one package in the
- # fedora repos that depends on hyperscan (suricata) and it appears to work
- # with this vectorscan package.
- Provides: hyperscan = %{version}
- Obsoletes: hyperscan < 5.4.7
- BuildRequires: patch
- BuildRequires: gcc
- BuildRequires: gcc-c++
- BuildRequires: make
- BuildRequires: cmake
- BuildRequires: ragel
- #BuildRequires: python3-sphinx
- #BuildRequires: python3-breathe
- BuildRequires: doxygen
- BuildRequires: libboost-devel
- BuildRequires: sqlite3-devel
- BuildRequires: glibc-devel
- BuildRequires: python3-devel
- BuildRequires: libpcap-devel
- %ifarch x86_64
- # the doc lies about VBMI implying AVX512 implying AVX2, without AVX2 the build fails
- %global fatruntime -DFAT_RUNTIME=ON -DBUILD_AVX2=ON -DBUILD_AVX512=ON -DBUILD_AVX512VBMI=ON
- %else
- %ifarch aarch64
- %global fatruntime -DFAT_RUNTIME=ON -DBUILD_SVE=ON -DBUILD_SVE2=ON -DBUILD_SVE2_BITPERM=ON
- %else
- %global fatruntime -DFAT_RUNTIME=OFF
- %endif
- %endif
- %description
- A fork of Intel's Hyperscan, modified to run on more
- platforms. 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.
- %package devel
- Summary: Development files for the vectorscan library
- Group: programming
- Requires: %{name}%{?_isa} = %{version}-%{release}
- %description devel
- Provides: hyperscan-devel = %{version}
- Obsoletes: hyperscan-devel < 5.4.7
- The vectorscan-devel package contains headers and libraries needed
- to develop .
- %debug_package
- %prep
- %setup -q -n vectorscan-%{vectorscan_tag}
- %patch -P0 -p1
- %patch -P1 -p1
- %build
- %cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON %{fatruntime} . -Wno-dev
- %cmake_build
- %install
- %cmake_install
- %ifarch x86_64
- %check
- bin/unit-hyperscan
- %endif
- %files
- %license COPYING
- %license LICENSE
- %{_libdir}/*.so.*
- %doc README.md
- %files devel
- %dir %{_defaultdocdir}/%{name}
- %dir %{_defaultdocdir}/%{name}/examples
- %doc %{_defaultdocdir}/%{name}/examples/README.md
- %doc %{_defaultdocdir}/%{name}/examples/*.cc
- %doc %{_defaultdocdir}/%{name}/examples/*.c
- %{_libdir}/*.so
- %{_libdir}/pkgconfig/libhs.pc
- %{_includedir}/hs/
- #------------------------------------------------------------------------------
- %changelog
- * Sat Dec 14 2024 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 5.4.11-9
- - initial build for Vine Linux.
- * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.11-8
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
- * Mon Feb 26 2024 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-6
- - Review issues, add man page updates, explicitly conflict hyperscan on x86
- * Mon Feb 12 2024 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-5
- - Fix fedora review issues
- * Fri Feb 9 2024 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-4
- - Make fedpkg lint happy
- * Wed Dec 6 2023 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-3
- - Enable Fat runtime on x86/aarch64
- * Wed Dec 6 2023 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-2
- - Change PPC compiler baseline to POWER8
- * Wed Dec 6 2023 Jeremy Linton <jeremy.linton@arm.com> - 5.4.11-1
- - Attempt upgrade to 5.4.11
- * Thu Oct 12 2023 Jeremy Linton <jeremy.linton@arm.com> - 5.4.10-1
- - Attempt upgrade to 5.4.10.1
- * Fri May 13 2022 Jeremy Linton <jeremy.linton@arm.com> - 5.4.7-1
- - First vectorscan package
|