summaryrefslogtreecommitdiff
path: root/devel/marisa-trie
diff options
context:
space:
mode:
Diffstat (limited to 'devel/marisa-trie')
-rw-r--r--devel/marisa-trie/Makefile51
-rw-r--r--devel/marisa-trie/files/patch-CMakeLists.txt46
2 files changed, 53 insertions, 44 deletions
diff --git a/devel/marisa-trie/Makefile b/devel/marisa-trie/Makefile
index a53b84d7b16d..5e646b59bc32 100644
--- a/devel/marisa-trie/Makefile
+++ b/devel/marisa-trie/Makefile
@@ -1,6 +1,7 @@
PORTNAME= marisa-trie
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= devel
@@ -12,52 +13,14 @@ LICENSE= BSD2CLAUSE LGPL21+
LICENSE_COMB= dual
LICENSE_FILE= ${WRKSRC}/COPYING.md
-USES= cmake pathfix
-USE_GITHUB= yes
-GH_ACCOUNT= s-yata
-GH_PROJECT= marisa-trie
+USES= cmake:testing compiler:c++20-lang pathfix
USE_LDCONFIG= yes
-CMAKE_ARGS+= -DBUILD_SHARED_LIBS=ON -DENABLE_NATIVE_CODE=ON
-CMAKE_BOOL+= ENABLE_NATIVE_CODE
-
-OPTIONS_DEFINE= SSE2 SSE3 SSSE3 SSE4 SSE41 SSE42 POPCNT BMI BMI2
-OPTIONS_DEFAULT=${MACHINE_CPU:tu}
-
-SSE2_DESC= Support for SSE2
-SSE2_CMAKE_ARGS= -DENABLE_NATIVE_CODE=ON -DHAVE_SSE2=ON -DENABLE_SSE2=ON
-SSE2_CMAKE_BOOL+= HAVE_SSE2 ENABLE_SSE2
-
-SSE3_DESC= Support for SSE3
-SSE3_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_SSE3=ON -DENABLE_SSE3=ON
-SSE3_CMAKE_BOOL+= HAVE_SSE3 ENABLE_SSE3
-
-SSSE3_DESC= Support for SSSE3
-SSSE3_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_SSSE3=ON -DENABLE_SSSE3=ON
-SSSE3_CMAKE_BOOL+= HAVE_SSSE3 ENABLE_SSSE3
-
-SSE4_DESC= Support for SSE4
-SSE4_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_SSE4=ON -DENABLE_SSE4=ON
-SSE4_CMAKE_BOOL+= HAVE_SSE4 ENABLE_SSE4
-
-SSE41_DESC= Support for SSE4.1
-SSE41_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_SSE4_1=ON -DENABLE_SSE4_1=ON
-SSE41_CMAKE_BOOL+= HAVE_SSE4_1 ENABLE_SSE4_1
-
-SSE42_DESC= Support for SSE4.2
-SSE42_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_SSE4_2=ON -DENABLE_SSE4_2=ON
-SSE42_CMAKE_BOOL+= HAVE_SSE4_2 ENABLE_SSE4_2
-
-POPCNT_DESC= Support for POPCNT
-POPCNT_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_POPCNT=ON -DENABLE_POPCNT=ON
-POPCNT_CMAKE_BOOL+= HAVE_POPCNT ENABLE_POPCNT
-
-BMI_DESC= Support for BMI
-BMI_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_BMI=ON -DENABLE_BMI=ON
-BMI_CMAKE_BOOL+= HAVE_BMI ENABLE_BMI
+USE_GITHUB= yes
+GH_ACCOUNT= s-yata
-BMI2_DESC= Support for BMI2
-BMI2_CMAKE_ARGS+= -DENABLE_NATIVE_CODE=ON -DHAVE_BMI2=ON -DENABLE_BMI2=ON
-BMI2_CMAKE_BOOL+= HAVE_BMI2 ENABLE_BMI2
+CMAKE_ON_amd64= ENABLE_NATIVE_CODE
+CMAKE_ON= BUILD_SHARED_LIBS \
+ ${CMAKE_ON_${ARCH}}
.include <bsd.port.mk>
diff --git a/devel/marisa-trie/files/patch-CMakeLists.txt b/devel/marisa-trie/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..6e8778796dcc
--- /dev/null
+++ b/devel/marisa-trie/files/patch-CMakeLists.txt
@@ -0,0 +1,46 @@
+--- CMakeLists.txt.orig 2025-07-20 11:08:58 UTC
++++ CMakeLists.txt
+@@ -19,7 +19,6 @@ function(check_macro_defined MACRO OUTPUT_VAR)
+ SOURCE_FROM_CONTENT
+ "check_${OUTPUT_VAR}.cc"
+ "#ifndef ${MACRO}\n#error \"${MACRO} is missing\"\n#endif\n"
+- COMPILE_DEFINITIONS -march=native
+ )
+ set("${OUTPUT_VAR}" "${result}" PARENT_SCOPE)
+ message("${OUTPUT_VAR}: ${result}")
+@@ -46,25 +45,25 @@ function(add_native_code TARGET)
+ cmake_dependent_option(ENABLE_BMI2 "Use BMI2 instructions" ON "ENABLE_NATIVE_CODE;HAVE_BMI2" OFF)
+ function(add_native_code TARGET)
+ if(ENABLE_NATIVE_CODE)
+- target_compile_options("${TARGET}" PRIVATE -march=native)
++# target_compile_options("${TARGET}" PRIVATE -march=native)
+ if(ENABLE_BMI2)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_BMI2 -mbmi2 -msse4)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_BMI2)
+ elseif(ENABLE_BMI)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_BMI -mbmi -msse4)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_BMI)
+ elseif(ENABLE_SSE4A)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4A -msse4a)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4A)
+ elseif(ENABLE_SSE4_2 AND ENABLE_POPCNT)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4 -msse4)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4)
+ elseif(ENABLE_SSE4_2)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4_2 -msse4.2)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4_2)
+ elseif(ENABLE_SSE4_1)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4_1 -msse4.1)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE4_1)
+ elseif(ENABLE_SSSE3)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSSE3 -mssse3)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSSE3)
+ elseif(ENABLE_SSE3)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE3 -msse3)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE3)
+ elseif(ENABLE_SSE2)
+- target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE2 -msse2)
++ target_compile_options("${TARGET}" PRIVATE -DMARISA_USE_SSE2)
+ endif()
+ endif()
+ endfunction()