early-access version 2853
This commit is contained in:
30
externals/vcpkg/ports/triton/001-fix-dependency-z3.patch
vendored
Executable file
30
externals/vcpkg/ports/triton/001-fix-dependency-z3.patch
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c8da1610..106fdb8b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -103,9 +103,9 @@ list(APPEND CMAKE_MODULE_PATH "${TRITON_ROOT}/CMakeModules/")
|
||||
# Find Z3
|
||||
if(Z3_INTERFACE)
|
||||
message(STATUS "Compiling with Z3 SMT solver")
|
||||
- find_package(Z3 REQUIRED)
|
||||
- include_directories(${Z3_INCLUDE_DIRS})
|
||||
+ find_package(Z3 CONFIG REQUIRED)
|
||||
set(TRITON_Z3_INTERFACE ON)
|
||||
+ set(Z3_LIBRARIES z3::libz3)
|
||||
endif()
|
||||
|
||||
# Find bitwuzla
|
||||
diff --git a/src/libtriton/Config.cmake.in b/src/libtriton/Config.cmake.in
|
||||
index 90cf6bfe..33f27d23 100644
|
||||
--- a/src/libtriton/Config.cmake.in
|
||||
+++ b/src/libtriton/Config.cmake.in
|
||||
@@ -47,8 +47,7 @@ endif()
|
||||
|
||||
# Z3 include directories
|
||||
if (TRITON_Z3_INTERFACE)
|
||||
- include_directories("@Z3_INCLUDE_DIRS@")
|
||||
- link_directories(BEFORE "@Z3_LIB_DIR@")
|
||||
+ find_dependency(Z3 CONFIG)
|
||||
endif()
|
||||
|
||||
# Bitwuzla include directories
|
||||
62
externals/vcpkg/ports/triton/002-fix-capstone-5.patch
vendored
Executable file
62
externals/vcpkg/ports/triton/002-fix-capstone-5.patch
vendored
Executable file
@@ -0,0 +1,62 @@
|
||||
diff --git a/src/libtriton/arch/x86/x86Specifications.cpp b/src/libtriton/arch/x86/x86Specifications.cpp
|
||||
index 0806ac3..6295c95 100644
|
||||
--- a/src/libtriton/arch/x86/x86Specifications.cpp
|
||||
+++ b/src/libtriton/arch/x86/x86Specifications.cpp
|
||||
@@ -153,9 +153,11 @@ namespace triton {
|
||||
tritonId = triton::arch::x86::ID_INS_FIADD;
|
||||
break;
|
||||
|
||||
+#if CS_API_MAJOR < 5
|
||||
case triton::extlibs::capstone::X86_INS_FADDP:
|
||||
tritonId = triton::arch::x86::ID_INS_FADDP;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case triton::extlibs::capstone::X86_INS_ADOX:
|
||||
tritonId = triton::arch::x86::ID_INS_ADOX;
|
||||
@@ -2877,9 +2879,11 @@ namespace triton {
|
||||
tritonId = triton::arch::x86::ID_INS_FUCOM;
|
||||
break;
|
||||
|
||||
+#if CS_API_MAJOR < 5
|
||||
case triton::extlibs::capstone::X86_INS_UD2B:
|
||||
tritonId = triton::arch::x86::ID_INS_UD2B;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case triton::extlibs::capstone::X86_INS_UNPCKHPD:
|
||||
tritonId = triton::arch::x86::ID_INS_UNPCKHPD;
|
||||
@@ -3037,17 +3041,21 @@ namespace triton {
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTDQ2PS;
|
||||
break;
|
||||
|
||||
+#if CS_API_MAJOR < 5
|
||||
case triton::extlibs::capstone::X86_INS_VCVTPD2DQX:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTPD2DQX;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case triton::extlibs::capstone::X86_INS_VCVTPD2DQ:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTPD2DQ;
|
||||
break;
|
||||
|
||||
+#if CS_API_MAJOR < 5
|
||||
case triton::extlibs::capstone::X86_INS_VCVTPD2PSX:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTPD2PSX;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case triton::extlibs::capstone::X86_INS_VCVTPD2PS:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTPD2PS;
|
||||
@@ -3093,9 +3101,11 @@ namespace triton {
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTSS2USI;
|
||||
break;
|
||||
|
||||
+#if CS_API_MAJOR < 5
|
||||
case triton::extlibs::capstone::X86_INS_VCVTTPD2DQX:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTTPD2DQX;
|
||||
break;
|
||||
+#endif
|
||||
|
||||
case triton::extlibs::capstone::X86_INS_VCVTTPD2DQ:
|
||||
tritonId = triton::arch::x86::ID_INS_VCVTTPD2DQ;
|
||||
28
externals/vcpkg/ports/triton/003-fix-python.patch
vendored
Executable file
28
externals/vcpkg/ports/triton/003-fix-python.patch
vendored
Executable file
@@ -0,0 +1,28 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c8da1610..40ab12c1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -53,7 +53,6 @@ if(PYTHON_BINDINGS)
|
||||
find_package(PythonInterp ${PYTHON_VERSION} REQUIRED)
|
||||
find_package(PythonLibs ${PYTHON_VERSION} REQUIRED)
|
||||
include_directories(${PYTHON_INCLUDE_DIRS})
|
||||
- add_definitions("-DPYTHON_LIBRARIES=\"${PYTHON_LIBRARIES}\"")
|
||||
cmake_path(GET PYTHON_LIBRARY PARENT_PATH PYTHON_LIB_DIR)
|
||||
cmake_path(GET PYTHON_LIBRARY STEM LAST_ONLY PYTHON_LIB_NAME)
|
||||
string(REGEX REPLACE "^lib" "" PYTHON_LIB_NAME ${PYTHON_LIB_NAME})
|
||||
diff --git a/src/libtriton/CMakeLists.txt b/src/libtriton/CMakeLists.txt
|
||||
index 7101cce8..a052b066 100644
|
||||
--- a/src/libtriton/CMakeLists.txt
|
||||
+++ b/src/libtriton/CMakeLists.txt
|
||||
@@ -330,9 +330,9 @@ if(PYTHON_BINDINGS)
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sysconfig import get_path; print(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
|
||||
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/triton${PYTHON_SUFFIX} DESTINATION ${PYTHON_SITE_PACKAGES})
|
||||
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_CONFIG_NAME}/triton${PYTHON_SUFFIX} DESTINATION share/triton)
|
||||
else()
|
||||
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/triton${PYTHON_SUFFIX} DESTINATION ${PYTHON_SITE_PACKAGES})
|
||||
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/triton${PYTHON_SUFFIX} DESTINATION share/triton)
|
||||
endif()
|
||||
else()
|
||||
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import version_info; print(f'lib/python{version_info[0]}.{version_info[1]}/site-packages')" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
53
externals/vcpkg/ports/triton/portfile.cmake
vendored
Executable file
53
externals/vcpkg/ports/triton/portfile.cmake
vendored
Executable file
@@ -0,0 +1,53 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO JonathanSalwan/Triton
|
||||
REF 243026c9c1e07a5ca834c4aaf628d1079f6a85ea
|
||||
SHA512 9e46c500203647de545286b78a7d4ae6da1796b8eed30fe7346ae6e51865ef70de1adb858c402c3687c471ad654cc6aefdff8893196f5ef7b45e4cee6dd9c577
|
||||
PATCHES
|
||||
001-fix-dependency-z3.patch
|
||||
002-fix-capstone-5.patch
|
||||
003-fix-python.patch
|
||||
)
|
||||
|
||||
string(COMPARE NOTEQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DYNAMICLIB)
|
||||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATICCRT)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
"python" PYTHON_BINDINGS
|
||||
)
|
||||
|
||||
set(ADDITIONAL_OPTIONS )
|
||||
if(PYTHON_BINDINGS)
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
list(APPEND ADDITIONAL_OPTIONS
|
||||
-DPYTHON_EXECUTABLE=${PYTHON3}
|
||||
)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DZ3_INTERFACE=ON
|
||||
-DTRITON_BOOST_INTERFACE=OFF
|
||||
-DBUILD_SHARED_LIBS=${DYNAMICLIB}
|
||||
-DMSVC_STATIC=${STATICCRT}
|
||||
-DBUILD_EXAMPLES=OFF
|
||||
-DENABLE_TEST=OFF
|
||||
${ADDITIONAL_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
# Move cmake configs
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
|
||||
|
||||
# Remove duplicate files
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
40
externals/vcpkg/ports/triton/vcpkg.json
vendored
Executable file
40
externals/vcpkg/ports/triton/vcpkg.json
vendored
Executable file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "triton",
|
||||
"version": "0.9",
|
||||
"port-version": 3,
|
||||
"description": "Triton is a Dynamic Binary Analysis (DBA) framework. It provides internal components like a Dynamic Symbolic Execution (DSE) engine, a dynamic taint engine, AST representations of the x86, x86-64, ARM32 and AArch64 Instructions Set Architecture (ISA), SMT simplification passes, an SMT solver interface and, the last but not least, Python bindings.",
|
||||
"homepage": "https://github.com/JonathanSalwan/Triton",
|
||||
"license": "Apache-2.0",
|
||||
"supports": "!arm",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "capstone",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"arm",
|
||||
"arm64",
|
||||
"x86"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
},
|
||||
"z3"
|
||||
],
|
||||
"features": {
|
||||
"python": {
|
||||
"description": "Build Triton with Python bindings",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "python3",
|
||||
"default-features": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user