1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-13 07:34:50 +00:00

New port: misc/veles: Tool for binary data visualization and analysis

This commit is contained in:
Yuri Victorovich 2019-06-14 03:43:43 +00:00
parent e66bb2a167
commit 1c40cc7f78
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=504154
8 changed files with 284 additions and 0 deletions

View File

@ -511,6 +511,7 @@
SUBDIR += valentina
SUBDIR += valspeak
SUBDIR += vdmfec
SUBDIR += veles
SUBDIR += vera
SUBDIR += vifm
SUBDIR += visp

49
misc/veles/Makefile Normal file
View File

@ -0,0 +1,49 @@
# $FreeBSD$
PORTNAME= veles
DISTVERSION= 2018.05.0
CATEGORIES= misc
MAINTAINER= yuri@FreeBSD.org
COMMENT= Tool for binary data visualization and analysis
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE-2.0
PYTHON_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>0:devel/py-msgpack@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openssl>0:security/py-openssl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pbr>0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
BUILD_DEPENDS= msgpack>0:devel/msgpack \
${PYTHON_DEPENDS}
RUN_DEPENDS= ${PYTHON_DEPENDS}
USES= cmake python:3.6+ qt:5 shebangfix
SHEBANG_GLOB= *.py
SHEBANG_FILES= python/plugin python/proxy resources/install/postinst python/test_dis
USE_GITHUB= yes
GH_ACCOUNT= codilime
USE_QT= core gui network widgets buildtools_build qmake_build
CMAKE_ARGS= -DFREEBSD_PYTHON_CMD:STRING=${PYTHON_CMD} \
-DFREEBSD_PYTHON_EXENAME:STRING=${PYTHON_CMD:C/.*\///} \
-DFREEBSD_LLVM_VERSION:STDING=${LLVM_DEFAULT} \
-DFREEBSD_PYTHON_SITELIBDIR:STRING=${PYTHON_SITELIBDIR} \
-DMSGPACK_INCLUDE_PATH:STRING=${LOCALBASE}/include/mgpack
# veles needs clang-format and clang-tidy that are only provided by the port
BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
CPP= clang-cpp${LLVM_DEFAULT}
CC= clang${LLVM_DEFAULT}
CXX= clang++${LLVM_DEFAULT}
post-patch:
@${REINPLACE_CMD} 's|QString python_interpreter_executable("/usr/local/bin/python3");|QString python_interpreter_executable("${PYTHON_CMD}");|' \
${WRKSRC}/src/ui/connectionmanager.cc
post-install:
@${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}
cd ${WRKSRC}/python/veles && ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}
${INSTALL_SCRIPT} ${WRKSRC}/python/srv.py ${STAGEDIR}${PREFIX}/bin/veles-server
.include <bsd.port.mk>

3
misc/veles/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1560472326
SHA256 (codilime-veles-2018.05.0_GH0.tar.gz) = da0047b7a42eece27aa83dd675f17df1fabeb765316a915bb9a2f22c7e1fb998
SIZE (codilime-veles-2018.05.0_GH0.tar.gz) = 2107744

View File

@ -0,0 +1,42 @@
--- CMakeLists.txt.orig 2018-05-18 10:32:48 UTC
+++ CMakeLists.txt
@@ -30,7 +30,7 @@ include("cmake/qt.cmake")
include("cmake/zlib.cmake")
include("cmake/msgpack.cmake")
include("cmake/cppgen.cmake")
-include("cmake/server.cmake")
+#include("cmake/server.cmake") # server.cmake installs into a virtual environment using pip, which is undesirable when it is installed as a package
include("cmake/openssl.cmake")
# Compiler flags
@@ -356,6 +356,7 @@ target_link_libraries(main_exe veles_base Qt5::Widgets
set_target_properties(main_exe PROPERTIES OUTPUT_NAME "veles")
add_dependencies(main_exe openssl zlib msgpack-c)
+if (BUILD_TESTING)
if(GTEST_FOUND AND GMOCK_FOUND)
include_directories(${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS})
add_executable(run_test
@@ -390,11 +391,12 @@ if(GTEST_FOUND AND GMOCK_FOUND)
else()
message("gtest and/or gmock not found - tests won't be built")
endif()
+endif(BUILD_TESTING)
# Post-build: linting
message(STATUS "Looking for clang-format")
-find_program(CLANG_FORMAT NAMES clang-format-6.0 clang-format HINTS ${CLANG_TOOLS_PATH})
+find_program(CLANG_FORMAT NAMES clang-format${FREEBSD_LLVM_VERSION} HINTS ${CLANG_TOOLS_PATH})
if(CLANG_FORMAT)
message(STATUS "Looking for clang-format - found")
@@ -419,7 +421,7 @@ endif()
message(STATUS "Looking for clang-tidy")
-find_program(CLANG_TIDY NAMES clang-tidy-6.0 clang-tidy HINTS ${CLANG_TOOLS_PATH})
+find_program(CLANG_TIDY NAMES clang-tidy${FREEBSD_LLVM_VERSION} HINTS ${CLANG_TOOLS_PATH})
if(CLANG_TIDY)
# Generate 'lint' target.

View File

@ -0,0 +1,41 @@
--- cmake/cppgen.cmake.orig 2018-05-18 10:32:48 UTC
+++ cmake/cppgen.cmake
@@ -1,4 +1,4 @@
-set(VENV_DIR "${CMAKE_CURRENT_BINARY_DIR}/msgpack-venv")
+set(VENV_DIR "${CMAKE_CURRENT_BINARY_DIR}/msgpack")
set(REQUIREMENTS "${CMAKE_SOURCE_DIR}/python/requirements.txt")
if(WIN32)
@@ -6,20 +6,20 @@ if(WIN32)
set(PYEXE "${VENV_DIR}/Scripts/python.exe")
set(SIX_LOC "${VENV_DIR}/Lib/site-packages/six.py")
else()
- set(BASEPYEXE python3)
- set(PYEXE "${VENV_DIR}/bin/python3")
- set(SIX_LOC "${VENV_DIR}/lib/site-packages/six.py")
+ set(BASEPYEXE ${FREEBSD_PYTHON_EXENAME})
+ set(PYEXE "${FREEBSD_PYTHON_CMD}")
+ set(SIX_LOC "${FREEBSD_PYTHON_SITELIBDIR}/six.py")
endif()
-add_custom_command(
- OUTPUT ${PYEXE}
- COMMAND ${BASEPYEXE} -m venv ${VENV_DIR}
-)
+#add_custom_command(
+# OUTPUT ${PYEXE}
+# COMMAND ${BASEPYEXE} -m venv ${VENV_DIR}
+#)
-add_custom_command(
- OUTPUT ${SIX_LOC}
- COMMAND ${PYEXE} -m pip install -r ${REQUIREMENTS}
- DEPENDS ${PYEXE}
-)
+#add_custom_command(
+# OUTPUT ${SIX_LOC}
+# COMMAND ${PYEXE} -m pip install -r ${REQUIREMENTS}
+# DEPENDS ${PYEXE}
+#)
add_custom_target(cpp_python_gen DEPENDS ${SIX_LOC})

View File

@ -0,0 +1,11 @@
--- src/util/settings/connection_client.cc.orig 2019-06-14 02:37:34 UTC
+++ src/util/settings/connection_client.cc
@@ -202,6 +202,8 @@ QString serverScriptDefault() {
server_script = qApp->applicationDirPath() + "/../veles-server/srv.py";
#elif defined(Q_OS_LINUX)
server_script = qApp->applicationDirPath() + "/../share/veles-server/srv.py";
+#elif defined(Q_OS_FREEBSD)
+ server_script = qApp->applicationDirPath() + "/veles-server";
#elif defined(Q_OS_MAC)
server_script =
qApp->applicationDirPath() + "/../Resources/veles-server/srv.py";

23
misc/veles/pkg-descr Normal file
View File

@ -0,0 +1,23 @@
Veles is an open source tool for binary data analysis.
Features:
* Binary data visualization
It is a very difficult task for a human to notice subtle patterns in large
amounts of binary data, however, us humans are very good at finding patterns
in images. Statistical visualizations let you find the important bits in a
sea of binary data - all at a glance.
* Binary data analysis
Veles combines advanced hex explorer and data visualization features with an
extensible framework for binary data analysis. Reverse engineering binaries?
Veles can support your work in these fields: reverse engineering binaries,
exploring file system images, steganography.
* Easy extendibility
With the number of different architectures, file formats and encodings you
can't always expect to find the tool you need online. Veles uses client-server
architecture, where each analyser can run in a separate process. All you need
to do is get the data from the server, implement a Python function to parse it
and return the results.
WWW: https://codisec.com/veles/

114
misc/veles/pkg-plist Normal file
View File

@ -0,0 +1,114 @@
bin/veles
bin/veles-server
%%PYTHON_SITELIBDIR%%/veles/__init__.py
%%PYTHON_SITELIBDIR%%/veles/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/async_client/__init__.py
%%PYTHON_SITELIBDIR%%/veles/async_client/conn.py
%%PYTHON_SITELIBDIR%%/veles/async_client/proto.py
%%PYTHON_SITELIBDIR%%/veles/async_client/runner.py
%%PYTHON_SITELIBDIR%%/veles/async_client/subscriber.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/__init__.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/conn.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/node.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/plugin.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/subscriber.py
%%PYTHON_SITELIBDIR%%/veles/async_conn/tracer.py
%%PYTHON_SITELIBDIR%%/veles/compatibility/__init__.py
%%PYTHON_SITELIBDIR%%/veles/compatibility/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/compatibility/__pycache__/int_bytes.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/compatibility/__pycache__/pep487.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/compatibility/int_bytes.py
%%PYTHON_SITELIBDIR%%/veles/compatibility/pep487.py
%%PYTHON_SITELIBDIR%%/veles/cpp/__init__.py
%%PYTHON_SITELIBDIR%%/veles/cpp/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/cpp/__pycache__/generate.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/cpp/generate.py
%%PYTHON_SITELIBDIR%%/veles/data/__init__.py
%%PYTHON_SITELIBDIR%%/veles/data/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/data/__pycache__/bindata.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/data/__pycache__/repack.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/data/bindata.py
%%PYTHON_SITELIBDIR%%/veles/data/repack.py
%%PYTHON_SITELIBDIR%%/veles/db/__init__.py
%%PYTHON_SITELIBDIR%%/veles/db/backend.py
%%PYTHON_SITELIBDIR%%/veles/db/node.py
%%PYTHON_SITELIBDIR%%/veles/db/subscriber.py
%%PYTHON_SITELIBDIR%%/veles/db/tracker.py
%%PYTHON_SITELIBDIR%%/veles/db/transaction.py
%%PYTHON_SITELIBDIR%%/veles/dis/__init__.py
%%PYTHON_SITELIBDIR%%/veles/dis/arg.py
%%PYTHON_SITELIBDIR%%/veles/dis/core.py
%%PYTHON_SITELIBDIR%%/veles/dis/field.py
%%PYTHON_SITELIBDIR%%/veles/dis/insn.py
%%PYTHON_SITELIBDIR%%/veles/dis/isa/__init__.py
%%PYTHON_SITELIBDIR%%/veles/dis/isa/falcon.py
%%PYTHON_SITELIBDIR%%/veles/dis/mem.py
%%PYTHON_SITELIBDIR%%/veles/dis/mod.py
%%PYTHON_SITELIBDIR%%/veles/dis/parser.py
%%PYTHON_SITELIBDIR%%/veles/dis/reg.py
%%PYTHON_SITELIBDIR%%/veles/dis/st.py
%%PYTHON_SITELIBDIR%%/veles/proto/__init__.py
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/check.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/chunk.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/connection.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/exceptions.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/messages.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/msgpackwrap.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/node.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/__pycache__/operation.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/proto/check.py
%%PYTHON_SITELIBDIR%%/veles/proto/chunk.py
%%PYTHON_SITELIBDIR%%/veles/proto/connection.py
%%PYTHON_SITELIBDIR%%/veles/proto/exceptions.py
%%PYTHON_SITELIBDIR%%/veles/proto/messages.py
%%PYTHON_SITELIBDIR%%/veles/proto/msgpackwrap.py
%%PYTHON_SITELIBDIR%%/veles/proto/node.py
%%PYTHON_SITELIBDIR%%/veles/proto/operation.py
%%PYTHON_SITELIBDIR%%/veles/schema/__init__.py
%%PYTHON_SITELIBDIR%%/veles/schema/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/schema/__pycache__/enumeration.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/schema/__pycache__/fields.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/schema/__pycache__/model.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/schema/__pycache__/nodeid.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/schema/enumeration.py
%%PYTHON_SITELIBDIR%%/veles/schema/fields.py
%%PYTHON_SITELIBDIR%%/veles/schema/model.py
%%PYTHON_SITELIBDIR%%/veles/schema/nodeid.py
%%PYTHON_SITELIBDIR%%/veles/schema/plugin.py
%%PYTHON_SITELIBDIR%%/veles/scli/__init__.py
%%PYTHON_SITELIBDIR%%/veles/scli/client.py
%%PYTHON_SITELIBDIR%%/veles/server/__init__.py
%%PYTHON_SITELIBDIR%%/veles/server/conn.py
%%PYTHON_SITELIBDIR%%/veles/server/proto.py
%%PYTHON_SITELIBDIR%%/veles/server/query.py
%%PYTHON_SITELIBDIR%%/veles/tests/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/tests/compatibility/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/compatibility/test_int_bytes.py
%%PYTHON_SITELIBDIR%%/veles/tests/data/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/data/test_bindata.py
%%PYTHON_SITELIBDIR%%/veles/tests/data/test_repack.py
%%PYTHON_SITELIBDIR%%/veles/tests/db/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/db/test_backend.py
%%PYTHON_SITELIBDIR%%/veles/tests/proto/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/proto/test_exceptions.py
%%PYTHON_SITELIBDIR%%/veles/tests/proto/test_pos_filter.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/tests/schema/__pycache__/cpp_test_models.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/tests/schema/cpp_test_models.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/test_fields.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/test_model.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/test_nodeid.py
%%PYTHON_SITELIBDIR%%/veles/tests/schema/test_polymodel.py
%%PYTHON_SITELIBDIR%%/veles/tests/util/__init__.py
%%PYTHON_SITELIBDIR%%/veles/tests/util/test_bigint.py
%%PYTHON_SITELIBDIR%%/veles/util/__init__.py
%%PYTHON_SITELIBDIR%%/veles/util/__pycache__/__init__.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/util/__pycache__/bigint.cpython-36.pyc
%%PYTHON_SITELIBDIR%%/veles/util/bigint.py
%%PYTHON_SITELIBDIR%%/veles/util/future.py
%%PYTHON_SITELIBDIR%%/veles/util/helpers.py
share/applications/veles.desktop
%%DATADIR%%/veles.ico