aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2019-06-14 03:43:43 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2019-06-14 03:43:43 +0000
commit1c40cc7f7805cde08931d70041a4a8f4ae4f6a84 (patch)
tree3e48cdc1fdbb15f0e4d72bed25c3d49badbd13d5 /misc
parente66bb2a167dc3f76185ab3ea94ec70e33f58d623 (diff)
downloadports-1c40cc7f7805cde08931d70041a4a8f4ae4f6a84.tar.gz
ports-1c40cc7f7805cde08931d70041a4a8f4ae4f6a84.zip
New port: misc/veles: Tool for binary data visualization and analysis
Notes
Notes: svn path=/head/; revision=504154
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile1
-rw-r--r--misc/veles/Makefile49
-rw-r--r--misc/veles/distinfo3
-rw-r--r--misc/veles/files/patch-CMakeLists.txt42
-rw-r--r--misc/veles/files/patch-cmake_cppgen.cmake41
-rw-r--r--misc/veles/files/patch-src_util_settings_connection__client.cc11
-rw-r--r--misc/veles/pkg-descr23
-rw-r--r--misc/veles/pkg-plist114
8 files changed, 284 insertions, 0 deletions
diff --git a/misc/Makefile b/misc/Makefile
index eac8fffd51a8..ce2c79ee51a5 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -511,6 +511,7 @@
SUBDIR += valentina
SUBDIR += valspeak
SUBDIR += vdmfec
+ SUBDIR += veles
SUBDIR += vera
SUBDIR += vifm
SUBDIR += visp
diff --git a/misc/veles/Makefile b/misc/veles/Makefile
new file mode 100644
index 000000000000..75e6c1642ec0
--- /dev/null
+++ b/misc/veles/Makefile
@@ -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>
diff --git a/misc/veles/distinfo b/misc/veles/distinfo
new file mode 100644
index 000000000000..86033ddc5fe6
--- /dev/null
+++ b/misc/veles/distinfo
@@ -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
diff --git a/misc/veles/files/patch-CMakeLists.txt b/misc/veles/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0237c8e1a768
--- /dev/null
+++ b/misc/veles/files/patch-CMakeLists.txt
@@ -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.
diff --git a/misc/veles/files/patch-cmake_cppgen.cmake b/misc/veles/files/patch-cmake_cppgen.cmake
new file mode 100644
index 000000000000..bad6aa2fcbcd
--- /dev/null
+++ b/misc/veles/files/patch-cmake_cppgen.cmake
@@ -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})
diff --git a/misc/veles/files/patch-src_util_settings_connection__client.cc b/misc/veles/files/patch-src_util_settings_connection__client.cc
new file mode 100644
index 000000000000..8f15b7405ecb
--- /dev/null
+++ b/misc/veles/files/patch-src_util_settings_connection__client.cc
@@ -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";
diff --git a/misc/veles/pkg-descr b/misc/veles/pkg-descr
new file mode 100644
index 000000000000..491262255d61
--- /dev/null
+++ b/misc/veles/pkg-descr
@@ -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/
diff --git a/misc/veles/pkg-plist b/misc/veles/pkg-plist
new file mode 100644
index 000000000000..384e145ef33d
--- /dev/null
+++ b/misc/veles/pkg-plist
@@ -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