diff --git a/sysutils/triton/Makefile b/sysutils/triton/Makefile index 9b723f2510d7..1f313c37cc72 100644 --- a/sysutils/triton/Makefile +++ b/sysutils/triton/Makefile @@ -1,25 +1,36 @@ PORTNAME= triton DISTVERSIONPREFIX= v -DISTVERSION= 0.8.1 +DISTVERSION= 0.9 CATEGORIES= sysutils MAINTAINER= yuri@FreeBSD.org COMMENT= Dynamic Binary Analysis (DBA) framework LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= boost-libs>0:devel/boost-libs LIB_DEPENDS= libcapstone.so:devel/capstone4 \ libz3.so:math/z3 -USES= cmake compiler:c++11-lang python:build shebangfix -SHEBANG_FILES= src/scripts/extract_syscall.py +USES= cmake compiler:c++14-lang shebangfix +USE_LDCONFIG= yes + +SHEBANG_GLOB= *.py + USE_GITHUB= yes GH_ACCOUNT= JonathanSalwan GH_PROJECT= Triton -USE_LDCONFIG= yes -CMAKE_OFF= PYTHON_BINDINGS +OPTIONS_DEFINE= PYTHON +OPTIONS_DEFAULT= PYTHON +OPTIONS_SUB= yes + +PYTHON_USES= python +PYTHON_USES_OFF= python:build +PYTHON_CMAKE_BOOL= PYTHON_BINDINGS + +post-install-PYTHON-on: + @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/triton.so .include diff --git a/sysutils/triton/distinfo b/sysutils/triton/distinfo index 4586c8b30a59..27835509ef88 100644 --- a/sysutils/triton/distinfo +++ b/sysutils/triton/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1588118219 -SHA256 (JonathanSalwan-Triton-v0.8.1_GH0.tar.gz) = 1e4499376787c5c922a940f6061a628bc18e171ee27d6560582a70f9147a30ba -SIZE (JonathanSalwan-Triton-v0.8.1_GH0.tar.gz) = 10391210 +TIMESTAMP = 1647827649 +SHA256 (JonathanSalwan-Triton-v0.9_GH0.tar.gz) = fea82146a6952c8cf6335e5c2ee68581729611e7b4aa853b09e5a5459bc643f7 +SIZE (JonathanSalwan-Triton-v0.9_GH0.tar.gz) = 19433967 diff --git a/sysutils/triton/files/patch-src_libtriton_CMakeLists.txt b/sysutils/triton/files/patch-src_libtriton_CMakeLists.txt deleted file mode 100644 index 234d228ae14f..000000000000 --- a/sysutils/triton/files/patch-src_libtriton_CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ ---- src/libtriton/CMakeLists.txt.orig 2019-09-30 08:16:44 UTC -+++ src/libtriton/CMakeLists.txt -@@ -50,7 +50,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID - endif() - - # 32-bits --if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - if(${ARCHITECTURE} STREQUAL "i386") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") - endif() -@@ -150,9 +150,9 @@ endif() - - # Triton have to generate a syscalls table from the kernel source - # This following code tries to find the unistd_64.h or unistd_32.h header depending on the architecture. --if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") -- FILE(GLOB_RECURSE syscalls32_table_files /usr/include/*unistd_32.h) -- FILE(GLOB_RECURSE syscalls64_table_files /usr/include/*unistd_64.h) -+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") -+ FILE(GLOB_RECURSE syscalls32_table_files /usr/include/unistd.h) -+ FILE(GLOB_RECURSE syscalls64_table_files /usr/include/unistd.h) - endif() - - macro(find_osx_syscall path) -@@ -197,7 +197,7 @@ macro(gen_syscall bits) - endmacro() - - # Note: Windows ?! --if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - gen_syscall(64) - else() - add_custom_target(gen-syscall64 -@@ -206,7 +206,7 @@ else() - endif() - - # Syscall 32 is only available for linux users --if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") -+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - gen_syscall(32) - else() - add_custom_target(gen-syscall32 diff --git a/sysutils/triton/files/patch-src_libtriton_includes_triton_syscalls.hpp b/sysutils/triton/files/patch-src_libtriton_includes_triton_syscalls.hpp deleted file mode 100644 index 7b9e26acb672..000000000000 --- a/sysutils/triton/files/patch-src_libtriton_includes_triton_syscalls.hpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/libtriton/includes/triton/syscalls.hpp.orig 2020-02-22 23:40:16 UTC -+++ src/libtriton/includes/triton/syscalls.hpp -@@ -10,7 +10,7 @@ - - #if defined(__unix__) || defined(__APPLE__) - --#ifdef __APPLE__ -+#if defined(__APPLE__) || defined(__FreeBSD__) - #include - #elif defined(__ANDROID___) - #if defined(__aarch64__) diff --git a/sysutils/triton/files/patch-src_scripts_extract__syscall.py b/sysutils/triton/files/patch-src_scripts_extract__syscall.py deleted file mode 100644 index 273535b703a4..000000000000 --- a/sysutils/triton/files/patch-src_scripts_extract__syscall.py +++ /dev/null @@ -1,11 +0,0 @@ ---- src/scripts/extract_syscall.py.orig 2020-02-23 00:00:42 UTC -+++ src/scripts/extract_syscall.py -@@ -41,6 +41,8 @@ if __name__ == "__main__": - - if platform.system() == 'Linux': - regex = re.compile(r"#define\s+(__NR_)(\w+)\s+(\d+)") -+ elif platform.system() == 'FreeBSD': -+ regex = re.compile(r"#define\s+(__NR_)(\w+)\s+(\d+)") - elif platform.system() == 'Darwin': - regex = re.compile(r"#define\s+(SYS_)(\w+)\s+(\d+)") - else: diff --git a/sysutils/triton/pkg-plist b/sysutils/triton/pkg-plist index a917780ddeac..48e7d23df0b5 100644 --- a/sysutils/triton/pkg-plist +++ b/sysutils/triton/pkg-plist @@ -1,73 +1,79 @@ include/triton/aarch64.spec include/triton/aarch64Cpu.hpp include/triton/aarch64Semantics.hpp include/triton/aarch64Specifications.hpp include/triton/api.hpp include/triton/archEnums.hpp include/triton/architecture.hpp include/triton/arm32.spec include/triton/arm32Cpu.hpp include/triton/arm32Semantics.hpp include/triton/arm32Specifications.hpp include/triton/armOperandProperties.hpp include/triton/ast.hpp include/triton/astContext.hpp include/triton/astEnums.hpp include/triton/astPythonRepresentation.hpp include/triton/astRepresentation.hpp include/triton/astRepresentationInterface.hpp include/triton/astSmtRepresentation.hpp include/triton/bitsVector.hpp +include/triton/bitwuzlaSolver.hpp include/triton/callbacks.hpp include/triton/callbacksEnums.hpp include/triton/comparableFunctor.hpp include/triton/config.hpp -include/triton/config.hpp.in include/triton/coreUtils.hpp include/triton/cpuInterface.hpp include/triton/cpuSize.hpp include/triton/dllexport.hpp include/triton/exceptions.hpp include/triton/externalLibs.hpp include/triton/immediate.hpp include/triton/instruction.hpp include/triton/irBuilder.hpp +include/triton/liftingEngine.hpp +include/triton/liftingToLLVM.hpp +include/triton/liftingToPython.hpp +include/triton/liftingToSMT.hpp +include/triton/llvmToTriton.hpp include/triton/memoryAccess.hpp include/triton/modes.hpp include/triton/modesEnums.hpp include/triton/operandWrapper.hpp +include/triton/oracleEntry.hpp include/triton/pathConstraint.hpp include/triton/pathManager.hpp -include/triton/py3c_compat.h -include/triton/pythonBindings.hpp -include/triton/pythonObjects.hpp -include/triton/pythonUtils.hpp -include/triton/pythonXFunctions.hpp include/triton/register.hpp include/triton/semanticsInterface.hpp include/triton/shortcutRegister.hpp include/triton/solverEngine.hpp include/triton/solverEnums.hpp include/triton/solverInterface.hpp include/triton/solverModel.hpp include/triton/symbolicEngine.hpp include/triton/symbolicEnums.hpp include/triton/symbolicExpression.hpp include/triton/symbolicSimplification.hpp include/triton/symbolicVariable.hpp -include/triton/syscalls.hpp -include/triton/syscalls.hpp.orig +include/triton/synthesisResult.hpp +include/triton/synthesizer.hpp include/triton/taintEngine.hpp -include/triton/tritonToZ3Ast.hpp +include/triton/tritonToBitwuzla.hpp +include/triton/tritonToLLVM.hpp +include/triton/tritonToZ3.hpp include/triton/tritonTypes.hpp -include/triton/unix.hpp include/triton/version.hpp -include/triton/version.hpp.in include/triton/x86.spec include/triton/x8664Cpu.hpp include/triton/x86Cpu.hpp include/triton/x86Semantics.hpp include/triton/x86Specifications.hpp include/triton/z3Solver.hpp -include/triton/z3ToTritonAst.hpp +include/triton/z3ToTriton.hpp +lib/cmake/triton/tritonConfig.cmake +lib/cmake/triton/tritonConfigVersion.cmake +lib/cmake/triton/tritonTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/triton/tritonTargets.cmake lib/libtriton.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/triton.so