aboutsummaryrefslogblamecommitdiff
path: root/math/octave/Makefile
blob: a9b864e8e25ca957349615f29cc0e0b1868fcf57 (plain) (tree)
1
2
3
4
5
6
7
8
9
                      
                                 
                 
                    
                   
 
                                   
                                                                          
                                       
 

                     


                                                         

                                                                          



                                                         
                                             



                                                        
                                     

                                                          


                                               

                                                       
                                          


                                                              
                                         

                                                 
                                       
                                                 
                                          
                                              
                                                  
                                                                 
                                                     
                                                      
 


                                                                                
                                                        
                     
                   


                                                                           
                      
 
                                               





                                                      
                                        
                                            
                                                    
                                                  
                                  

                                                                    
                                  

                                                
 



                                    

                                                             
                             

                                
 
                             
                     
 
                             
 
                            
                                             




                                         
                                       

                                                                   
 
                   
                                              
                        
                                                  
                    

                                   
                                
 
                        

                     
                                       

                                                                                
                                                                   
       



                                                                               
 

                                                                               
 
                      
PORTNAME=	octave
PORTVERSION=	${OCTAVE_VERSION}
PORTREVISION=	1
CATEGORIES=	math
MASTER_SITES=	GNU

MAINTAINER=	stephen@FreeBSD.org
COMMENT=	High-level interactive language for numerical computations
WWW=		https://www.octave.org/

LICENSE=	GPLv3

BUILD_DEPENDS=	${LOCALBASE}/bin/gperf:devel/gperf \
		${LOCALBASE}/bin/makeinfo:print/texinfo \
		gnuplot:math/gnuplot \
		gsed:textproc/gsed \
		${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson
RUN_DEPENDS=	${LOCALBASE}/bin/makeinfo:print/texinfo \
		gnuplot:math/gnuplot \
		gsed:textproc/gsed
LIB_DEPENDS=	libamd.so:math/suitesparse-amd \
		libarpack.so:math/arpack-ng \
		libcamd.so:math/suitesparse-camd \
		libccolamd.so:math/suitesparse-ccolamd \
		libcholmod.so:math/suitesparse-cholmod \
		libcolamd.so:math/suitesparse-colamd \
		libcurl.so:ftp/curl \
		libcxsparse.so:math/suitesparse-cxsparse \
		libdrm.so:graphics/libdrm \
		libfftw3.so:math/fftw3 \
		libfftw3f.so:math/fftw3-float \
		libfltk.so:x11-toolkits/fltk \
		libfontconfig.so:x11-fonts/fontconfig \
		libfreetype.so:print/freetype2 \
		libftgl.so:graphics/ftgl \
		libgl2ps.so:print/gl2ps \
		libglpk.so:math/glpk \
		libGraphicsMagick.so:graphics/GraphicsMagick \
		libhdf5.so:science/hdf5 \
		libklu.so:math/suitesparse-klu \
		libOSMesa.so:graphics/libosmesa \
		libpcre.so:devel/pcre \
		libportaudio.so:audio/portaudio \
		libqhull_r.so:math/qhull \
		libqrupdate.so:math/qrupdate \
		libspqr.so:math/suitesparse-spqr \
		libsuitesparseconfig.so:math/suitesparse-config \
		libsundials_arkode.so:math/sundials \
		libumfpack.so:math/suitesparse-umfpack

USES=		charsetfix compiler:c++14-lang desktop-file-utils fortran gl \
		gmake iconv libtool localbase:ldflags ncurses octave:env perl5 \
		pkgconfig readline tar:xz xorg
USE_LDCONFIG=	${PREFIX}/lib/${PORTNAME}/${PORTVERSION}
USE_PERL5=	build
GNU_CONFIGURE=	yes
USE_QT=		core gui help network opengl printsupport sql widgets xml \
		buildtools:build linguist:build qmake:build
USE_XORG=	x11 xcursor xext xfixes xft xinerama xrender
USE_GL=		gl glu

GNU_HOST=	${ARCH}-portbld-freebsd${OSREL}
PLIST_SUB=	GNU_HOST=${GNU_HOST} \
		OCTAVE_VERSION=${OCTAVE_VERSION}
LDFLAGS+=	-L${LOCALBASE}/lib/qt5
CONFIGURE_ENV=	ac_cv_path_SED=${LOCALBASE}/bin/gsed \
		ac_cv_type_max_align_t=yes \
		GPERF="${LOCALBASE}/bin/gperf" \
		JAVA_HOME=${JAVA_HOME} \
		LRELEASE_QTVER=${LRELEASE} \
		MAKEINFO=${LOCALBASE}/bin/makeinfo \
		MKINFO=${LOCALBASE}/bin/makeinfo \
		MOC_QTVER=${MOC} \
		QCOLLECTIONGENERATOR_QTVER=${QCOLLECTIONGENERATOR} \
		QHELPGENERATOR_QTVER=${QHELPGENERATOR} \
		RCC_QTVER=${RCC} \
		UIC_QTVER=${UIC} \
		man1dir=${PREFIX}/share/man/man1

CONFIGURE_ARGS=	--disable-jit \
		--disable-openmp \
		--enable-shared \
		--host=${GNU_HOST} \
		--with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \
		--with-lapack="${LAPACKLIB}" \
		--with-osmesa

INFO=		octave liboctave

INSTALL_TARGET=	install-strip
TEST_TARGET=	check

OPTIONS_DEFINE=	DOCS JAVA QT5

OPTIONS_RADIO=		BLAS
OPTIONS_RADIO_BLAS=	ATLAS NETLIB OPENBLAS
OPTIONS_DEFAULT=	JAVA OPENBLAS QT5
OPTIONS_SUB=		yes

DOCS_CONFIGURE_ENABLE=	docs
JAVA_CONFIGURE_ENABLE=	java
QT5_CONFIGURE_WITH=	qscintilla qt=5

QT5_LIB_DEPENDS=	libqscintilla2_qt5.so:devel/qscintilla2-qt5

DOCS_USES=	tex
DOCS_USE=	TEX=dvipsk:build,formats:build
JAVA_USE=	JAVA=yes
JAVA_CFLAGS=	-I${JAVA_HOME}/include/${OPSYS:tl}
QT5_USES=	qt:5
OPENBLAS_USES=	blaslapack:openblas
NETLIB_USES=	blaslapack:netlib
ATLAS_USES=	blaslapack:atlas

BINARY_ALIAS=	sed=gsed

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for file in liboctave/liboctave.ps refcard/refcard-a4.ps \
	refcard/refcard-legal.ps refcard/refcard-letter.ps interpreter/octave.ps
	${INSTALL_DATA} ${WRKSRC}/doc/${file} ${STAGEDIR}${DOCSDIR}
.endfor
	@${MKDIR} ${STAGEDIR}${PREFIX}/${INFO_PATH}
.for file in interpreter/octave.info liboctave/liboctave.info
	${INSTALL_DATA} ${WRKSRC}/doc/${file} ${STAGEDIR}${PREFIX}/${INFO_PATH}
.endfor

check regression-test: build
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} check)

.include <bsd.port.mk>