aboutsummaryrefslogblamecommitdiff
path: root/biology/avida/Makefile
blob: c6d36fb596545256b01e6f2255798f2da798ecd6 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                       

                     
                      
                            
                       
                                                                
 
                                 
                                                                        
 
                     
 




                                             
                                             
                                                      
 
                                          
                       


                                                             
 
                 


                                                    
 






                                                                          
 
                    
 



                                                              
                                       

                                                                        

                                                           







                                                                             
                                                      
                         



                                                        
       



                                                            
 
                   


                                                                        
 
                      
# Created by: Jeremy <karlj000@unbc.ca>

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

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

LICENSE=	GPLv3

BROKEN_aarch64=		invokes x86 assembler
BROKEN_armv6=		invokes x86 assembler
BROKEN_armv7=		invokes x86 assembler
BROKEN_mips=		invokes x86 assembler
BROKEN_mips64=		invokes x86 assembler
BROKEN_riscv64=		invokes x86 assembler
BROKEN_sparc64=		missing atomics implementation

USES=		compiler:c11 cmake ncurses
USE_CXXSTD=	gnu++98
CMAKE_ARGS=	-DAPTO_UNIT_TESTS:BOOL=OFF \
		-DAVD_UNIT_TESTS:BOOL=OFF \
		-DNCURSES_INCLUDE_PATH:STRING="${NCURSESINC}"

PORTDOCS=	*
PLIST_FILES=	${BIN_FILES:S|^|bin/|} \
		${BIN_FILES:S|^|lib/${PORTNAME}/|} \
		${DATA_FILES:S|^|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

OPTIONS_DEFINE=	DOCS

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

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

do-install:
	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
.for exec in ${BIN_FILES}
	${INSTALL_SCRIPT} ${WRKSRC}/${exec}.sh \
		${STAGEDIR}${PREFIX}/bin/${exec}
	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/bin/${exec} \
		${STAGEDIR}${PREFIX}/lib/${PORTNAME}
.endfor
	${INSTALL_DATA} \
		${WRKSRC}/avida-core/support/config/*.cfg \
		${WRKSRC}/avida-core/support/config/*.org \
			${STAGEDIR}${PREFIX}/lib/${PORTNAME}

do-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	@(cd ${WRKSRC}/avida-core/documentation && ${COPYTREE_SHARE} . \
		${STAGEDIR}${DOCSDIR})

.include <bsd.port.mk>