summaryrefslogtreecommitdiff
path: root/misc/veles/Makefile
blob: f71b6b1bb505a87f6b3495ea5e77baebb052fe78 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
PORTNAME=	veles
DISTVERSION=	2018.05.0
PORTREVISION=	4
CATEGORIES=	misc

PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
PATCHFILES=	f9125454bfb2cd28d78544ba41d92c028be6a277.patch:-p1 # Lift the default size limit of 1MB that msgpack imposes on binary data: https://github.com/codilime/veles/pull/447

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Tool for binary data visualization and analysis
WWW=		https://codisec.com/veles/

LICENSE=	APACHE20
LICENSE_FILE=	${WRKSRC}/LICENSE-2.0

BROKEN_riscv64=		fails to build: /usr/include/c++/v1/__config:1141:6: No thread API

PY_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-c>0:devel/msgpack-c \
		msgpack-cxx>0:devel/msgpack-cxx \
		${PY_DEPENDS}
RUN_DEPENDS=	${PY_DEPENDS}

USES=		cmake compiler localbase python:3.6+ qt:5 shebangfix # localbase is for boost headers included from the headers installed by msgpack-cxx
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

.include <bsd.port.pre.mk>

# veles needs clang-format and clang-tidy that are only provided by the port
BUILD_DEPENDS+=	clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}

.if ${CHOSEN_COMPILER_TYPE} == clang
CPP=		clang-cpp${LLVM_DEFAULT}
CC=		clang${LLVM_DEFAULT}
CXX=		clang++${LLVM_DEFAULT}
.else
USE_GCC=	yes
.endif

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.post.mk>