hyperscan: remove package
authorJohn Audia <[email protected]>
Tue, 2 Sep 2025 18:02:58 +0000 (14:02 -0400)
committerHannu Nyman <[email protected]>
Sat, 20 Sep 2025 03:52:48 +0000 (06:52 +0300)
Remove hyperscan since Intel announced a proprietary/closed source
license beginning with hyperscan 5.5[1,2] and a general lock of support
for the 5.4.x branch which has not seen a commit since 19-Apr-2023[3].

1. https://networkbuilders.intel.com/docs/networkbuilders/accelerate-snort-performance-with-hyperscan-and-intel-xeon-processors-on-public-clouds-1680176363.pdf
2. https://www.phoronix.com/news/Intel-Hyperscan-Now-Proprietary (and references therein)
3. intel/hyperscan@bc3b191

Signed-off-by: John Audia <[email protected]>
libs/hyperscan/Makefile [deleted file]
libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch [deleted file]

diff --git a/libs/hyperscan/Makefile b/libs/hyperscan/Makefile
deleted file mode 100644 (file)
index ed33cae..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=hyperscan
-PKG_VERSION:=5.4.2
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/intel/hyperscan/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=32b0f24b3113bbc46b6bfaa05cf7cf45840b6b59333d078cc1f624e4c40b2b99
-
-PKG_MAINTAINER:=John Audia <[email protected]>
-PKG_LICENSE:=BSD-3-Clause BSD-2-Clause BSL-1.0
-PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_DEPENDS:=ragel/host python3/host boost/host
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-# A minimum of SSSE3 support is required to use hyperscan
-# We need to define the C(XX)FLAGS to avoid -march=native being
-# used as this is hardcoded by upstream, see:
-# https://github.com/intel/hyperscan/blob/master/doc/dev-reference/getting_started.rst
-CMAKE_OPTIONS += \
-       -DCMAKE_INSTALL_PREFIX=/usr \
-       -DCMAKE_INSTALL_LIBDIR=lib \
-       -DBUILD_SHARED_LIBS=ON \
-       -DCMAKE_C_FLAGS="-march=x86-64-v2" \
-       -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \
-       -Wno-dev
-
-define Package/hyperscan-headers
-  CATEGORY:=Libraries
-  SECTION:=libs
-  TITLE:=Hyperscan Headers
-  URL:=https://github.com/intel/hyperscan
-  DEPENDS:=@TARGET_x86_64
-endef
-
-define Package/hyperscan-runtime
-  CATEGORY:=Libraries
-  SECTION:=libs
-  TITLE:=Hyperscan Runtime
-  URL:=https://github.com/intel/hyperscan
-  DEPENDS:=@TARGET_x86_64 +libstdcpp
-endef
-
-define Package/hyperscan-headers/description
-  This package contains the headers for Hyperscan.
-endef
-
-define Package/hyperscan-runtime/description
-  This package contains the shared objects for Hyperscan.
-endef
-
-# This installs files into ./staging_dir/. so that you can cross compile from the host
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include/hs
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hs/* $(1)/usr/include/hs/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhs* $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/libhs.pc $(1)/usr/lib/pkgconfig/libhs.pc
-endef
-
-# These install files on the target.  Compare with Build/InstallDev
-define Package/hyperscan-headers/install
-       $(INSTALL_DIR) $(1)/usr/include/hs
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hs/*.h $(1)/usr/include/hs/
-endef
-
-define Package/hyperscan-runtime/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhs* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,hyperscan-headers))
-$(eval $(call BuildPackage,hyperscan-runtime))
diff --git a/libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch b/libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch
deleted file mode 100644 (file)
index 450af73..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From c5a983652a2bbbc029961affd2996459e45b5336 Mon Sep 17 00:00:00 2001
-From: John Audia <[email protected]>
-Date: Sat, 20 Apr 2024 13:29:49 -0400
-Subject: [PATCH] CMakeLists.txt: hack for our build system
-
-If building with the project external toolchain, the gcc check
-fails to set the correct value for TUNE_FLAG to allow the min
-supported SSSE3 compiler support test to pass.  This patch hacks
-the file to set to the correct value.
-
-Links to upstream bug reports:
-https://github.com/openwrt/openwrt/issues/15216
-https://github.com/intel/hyperscan/issues/431
-
----
- CMakeLists.txt | 29 +----------------------------
- 1 file changed, 1 insertion(+), 28 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -183,34 +183,7 @@ else()
-     endforeach ()
-     if (CMAKE_COMPILER_IS_GNUCC)
--        message(STATUS "gcc version ${CMAKE_C_COMPILER_VERSION}")
--        # If gcc doesn't recognise the host cpu, then mtune=native becomes
--        # generic, which isn't very good in some cases. march=native looks at
--        # cpuid info and then chooses the best microarch it can (and replaces
--        # the flag), so use that for tune.
--
--        # arg1 might exist if using ccache
--        string (STRIP "${CMAKE_C_COMPILER_ARG1}" CC_ARG1)
--        set (EXEC_ARGS ${CC_ARG1} -c -Q --help=target -march=native -mtune=native)
--        execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
--            OUTPUT_VARIABLE _GCC_OUTPUT)
--        string(FIND "${_GCC_OUTPUT}" "march" POS)
--        string(SUBSTRING "${_GCC_OUTPUT}" ${POS} -1 _GCC_OUTPUT)
--        string(REGEX REPLACE "march=[ \t]*([^ \n]*)[ \n].*" "\\1"
--            GNUCC_ARCH "${_GCC_OUTPUT}")
--
--        # test the parsed flag
--        set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH})
--        execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
--            OUTPUT_QUIET ERROR_QUIET
--            INPUT_FILE /dev/null
--            RESULT_VARIABLE GNUCC_TUNE_TEST)
--        if (NOT GNUCC_TUNE_TEST EQUAL 0)
--            message(SEND_ERROR "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid")
--        endif()
--        set(TUNE_FLAG ${GNUCC_ARCH})
--    else ()
--        set(TUNE_FLAG native)
-+        set(TUNE_FLAG x86-64-v2)
-     endif()
-     # compiler version checks TODO: test more compilers