summaryrefslogtreecommitdiff
path: root/biology/avida/Makefile
blob: 89b9f44ddec54692bf0555992e0ddba8ff79f5fb (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
66
67
68
69
70
71
# Created by: Jeremy <karlj000@unbc.ca>
# $FreeBSD$

PORTNAME=	avida
PORTVERSION=	2.12.4
DISTVERSIONSUFFIX=	-src
CATEGORIES=	biology
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}-stable/${PORTVERSION}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	An auto-adaptive genetic system designed for ALife research

LICENSE=	GPLv3

OPTIONS_DEFINE=	DOCS

USES=		cmake:outsource ncurses
MAKE_JOBS_SAFE=	yes

PORTDOCS=	*
PLIST_FILES=	${BIN_FILES:S|^|bin/|} \
		${BIN_FILES:S|^|lib/${PORTNAME}/|} \
		${DATA_FILES:S|^|lib/${PORTNAME}/|}
PLIST_DIRS=	lib/${PORTNAME}

BIN_FILES=	avida avida-viewer
DATA_FILES=	analyze.cfg avida.cfg default-gx.org \
		default-heads-sex.org default-heads.org default-smt.org \
		default-transsmt.org environment.cfg events.cfg \
		experimental.org instset-experimental.cfg instset-gx.cfg \
		instset-heads-sex.cfg instset-heads.cfg instset-smt.cfg \
		instset-transsmt.cfg

.include <bsd.port.pre.mk>

.if ${ARCH} == "ia64" || ${ARCH} == "powerpc" || ${ARCH} == "sparc64"
BROKEN=		Does not compile: invokes i386 asm
.endif

post-patch:
	@${FIND} ${WRKSRC} -name "CMakeLists.txt" | ${XARGS} \
		${REINPLACE_CMD} -e \
		's|-O[0-9]|| ; \
		 s| pthread| ${PTHREAD_LIBS}|'
	@${REINPLACE_CMD} -e '/long long int/s|std::abs|llabs|' \
		${WRKSRC}/avida-core/source/main/cPopulationInterface.cc

pre-build:
.for exec in ${BIN_FILES}
	@(cd ${WRKSRC} && ${ECHO_CMD} \
		'cd ${PREFIX}/lib/${PORTNAME} && ./${exec} $$@' > ${exec}.sh)
.endfor

do-install:
	@${MKDIR} ${PREFIX}/lib/${PORTNAME}
.for exec in ${BIN_FILES}
	(cd ${WRKSRC} \
		&& ${INSTALL_SCRIPT} ${exec}.sh ${PREFIX}/bin/${exec})
	(cd ${BUILD_WRKSRC}/bin \
		&& ${INSTALL_PROGRAM} ${exec} ${PREFIX}/lib/${PORTNAME})
.endfor
	(cd ${WRKSRC}/avida-core/support/config \
		&& ${INSTALL_DATA} *.cfg ${PREFIX}/lib/${PORTNAME} \
		&& ${INSTALL_DATA} *.org ${PREFIX}/lib/${PORTNAME})
.if ${PORT_OPTIONS:MDOCS}
	@${MKDIR} ${DOCSDIR}
	@(cd ${WRKSRC}/avida-core/documentation \
		&& ${COPYTREE_SHARE} . ${DOCSDIR})
.endif

.include <bsd.port.post.mk>