aboutsummaryrefslogtreecommitdiff
path: root/biology/ugene/Makefile
blob: b3b1468f1a9d273caaf4ebe1b1ffe826733e53e9 (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
63
64
65
PORTNAME=	ugene
PORTVERSION=	40.1
PORTREVISION=	1
CATEGORIES=	biology science

MAINTAINER=	h2+fbsdports@fsfe.org
COMMENT=	Integrated bioinformatics toolkit
WWW=		https://ugene.net/

LICENSE=	GPLv2+
LICENSE_FILE=	${WRKSRC}/LICENSE.txt

BROKEN_aarch64=	fails to build: invokes x86 asm
BROKEN_armv7=	fails to build: src/SendReportDialog.cpp:435:20: error: invalid output constraint '=a' in asm, see https://github.com/ugeneunipro/ugene/issues/919
BROKEN_riscv64=	fails to build: invokes x86 asm

RUN_DEPENDS=	bash:shells/bash

USE_GITHUB=	yes
GH_ACCOUNT=	ugeneunipro

USES=		desktop-file-utils gl qmake qt:5 shared-mime-info sqlite xorg
USE_GL=		gl glu
USE_QT=		buildtools:build linguisttools:build \
		core gui network opengl printsupport scripttools script \
		sql svg testlib widgets xml \
		imageformats:run
USE_XORG=	x11 xtst

QMAKE_ARGS=	INSTALL_PREFIX="${PREFIX}" UGENE_INSTALL_DATA="${DATADIR}" \
		INSTALL_MANDIR="${PREFIX}/share/man" \
		UGENE_LRELEASE="${LRELEASE}" UGENE_LUPDATE="${LUPDATE}" \
		UGENE_USE_BUNDLED_SQLITE=0
ALL_TARGET=	release
CXXFLAGS_i386=	-msse2

OPTIONS_DEFINE=	OPENCL

OPENCL_QMAKE_ON=	UGENE_OPENCL_DETECTED=1

.include <bsd.port.pre.mk>

.if ${ARCH} == i386
QMAKE_ARGS+=	CONFIG+=x86
.endif

post-patch:
# yes, bash is required, stuff will not execute with sh
	@${REINPLACE_CMD} -e 's|/bin/bash|/usr/bin/env bash|' \
		${WRKSRC}/src/gen_bin_script.cmd \
		${WRKSRC}/etc/shared/ugene ${WRKSRC}/etc/shared/ugened
	@${REINPLACE_CMD} -e 's|-bit version|& for ${OPSYS}/${ARCH}|' \
		${WRKSRC}/src/ugeneui/src/main_window/AboutDialogController.cpp
	@${REINPLACE_CMD} 's, -lbreakpad$$$$D,,' \
		${WRKSRC}/src/corelibs/U2Private/U2Private.pri \
		${WRKSRC}/src/plugins_checker/plugins_checker.pri \
		${WRKSRC}/src/ugenecl/ugenecl.pri \
		${WRKSRC}/src/ugeneui/ugeneui.pri
	@${REINPLACE_CMD} -e '/ugene\.desktop/s,share,&d,' \
		${WRKSRC}/ugene.pri

post-stage:
	@cd ${STAGEDIR}${PREFIX} && ${RM} bin/ecp.* lib/ugene/ecp.*

.include <bsd.port.post.mk>