aboutsummaryrefslogtreecommitdiff
path: root/math/freemat/Makefile
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2013-12-24 10:37:31 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2013-12-24 10:37:31 +0000
commite005d5e551045ba709fad36ee0d2d5516e6ca215 (patch)
treee1f4df0899548c4efd2f4ab436836827ef9d4727 /math/freemat/Makefile
parentd06bb3f0363fd8c4bc9de845c780d1fe2be455b5 (diff)
downloadports-e005d5e551045ba709fad36ee0d2d5516e6ca215.tar.gz
ports-e005d5e551045ba709fad36ee0d2d5516e6ca215.zip
- Update math/freemat to version 4.2 and clean up the port.
- Support JIT compilation using Clang/LLVM 3.3. - Add desktop entry. - Remove math/freemat-mpi. It has been marked IGNORE for almost 7 years since the removal of MPI support in FreeMat 3.0.
Notes
Notes: svn path=/head/; revision=337334
Diffstat (limited to 'math/freemat/Makefile')
-rw-r--r--math/freemat/Makefile159
1 files changed, 45 insertions, 114 deletions
diff --git a/math/freemat/Makefile b/math/freemat/Makefile
index d1b1a607f6c1..6825a18414d9 100644
--- a/math/freemat/Makefile
+++ b/math/freemat/Makefile
@@ -1,121 +1,52 @@
# Created by: Thierry Thomas <thierry@pompo.net>
# $FreeBSD$
-PORTNAME= FreeMat
-PORTVERSION= 4.0
+PORTNAME= FreeMat
+PORTVERSION= 4.2
DISTVERSIONSUFFIX= -Source
-PORTREVISION= 6
-CATEGORIES= math science
-MASTER_SITES= SF
-MASTER_SITE_SUBDIR= freemat/FreeMat4
-.ifdef WITH_MPI
-PKGNAMESUFFIX= -mpi
-.endif
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= An environment for rapid engineering and scientific processing
-
-LIB_DEPENDS= lapack.4:${PORTSDIR}/math/lapack \
- pcre.3:${PORTSDIR}/devel/pcre
-
-LICENSE= GPLv2
-
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}.1${DISTVERSIONSUFFIX}
-
-.ifdef WITH_MPI
-IGNORE= no MPI support at the moment
-.endif
-
-USE_FORTRAN= yes
-FFLAGS+= -O2
-
-USE_GL= yes
-USES= cmake pkgconfig
-USE_QT4= gui network opengl moc_build rcc_build uic_build \
- qmake_build xml svg
-CPPFLAGS+= ${CXXFLAGS} -I${LOCALBASE}/include ${AMDINC}
-
-SLAVEDIRS= math/freemat-mpi
-
-DATADIR+= ${PREFIX}/share/${PORTNAME}-${PORTVERSION}
-
-.if !defined(WITHOUT_FFTW)
-LIB_DEPENDS+= fftw3:${PORTSDIR}/math/fftw3 \
- fftw3f:${PORTSDIR}/math/fftw3-float
-.endif
-
-.if !defined(WITHOUT_ARPACK)
-LIB_DEPENDS+= arpack.1:${PORTSDIR}/math/arpack
-.endif
-
-.if !defined(WITHOUT_AVCALL)
-BUILD_DEPENDS+= ${LOCALBASE}/lib/libavcall.a:${PORTSDIR}/devel/ffcall
-.endif
-
-.if !defined(WITHOUT_PORTAUDIO)
-LIB_DEPENDS+= portaudio.0:${PORTSDIR}/audio/portaudio
-.endif
-
-NO_STAGE= yes
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 800023
-# Add math functions that didn't exist until 8.x
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-libs__libFN__CMakeLists.txt \
- ${FILESDIR}/extra-patch-libs__libFN__mathfunc4.cpp \
- ${FILESDIR}/extra-patch-libs__libFN__FNFun.cpp
-.endif
-
-.if exists(${LOCALBASE}/lib/libatlas.so) && !defined(WITH_BLAS)
-WITH_ATLAS= yes
-.endif
-.if defined(WITH_ATLAS)
-LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
-BLAS= -lf77blas
-LAPACK= -lalapack -lcblas
-.else
-LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas \
- lapack.4:${PORTSDIR}/math/lapack
-BLAS= -lblas
-LAPACK= -llapack
-.endif
-
-.if !defined(WITHOUT_UMFPACK)
-LIB_DEPENDS+= amd.1:${PORTSDIR}/math/suitesparse
-AMDINC= -I${LOCALBASE}/include/suitesparse
-.endif
-
-pre-everything::
-.if !defined(WITH_ATLAS)
- @${ECHO_MSG} '**********************************************************'
- @${ECHO_MSG} '* You can define the following variables: *'
- @${ECHO_MSG} '* - WITH_ATLAS: to link with atlas *'
- @${ECHO_MSG} '* - WITHOUT_FFTW remove FFTW support *'
- @${ECHO_MSG} '* - WITHOUT_ARPACK remove Arpack support *'
- @${ECHO_MSG} '* - WITHOUT_AVCALL remove FFCALL support *'
- @${ECHO_MSG} '* - WITHOUT_UMFPACK remove UMFPACK support *'
- @${ECHO_MSG} '* - WITHOUT_PORTAUDIO remove Audio I/O support *'
- @${ECHO_MSG} '**********************************************************'
-.endif
-
-# Get rid of the generated .moc.cpp files included in the
-# upstream distro. They should be regenerated with the
-# currently-installed version of moc-qt4.
-post-extract:
- @cd ${WRKSRC} && ${FIND} . -name \*.moc.cpp -delete
-
-pre-configure:
- @${RM} ${WRKSRC}/CMakeCache.txt
-
-# Avoid conflict with QT3
-post-configure:
- @${FIND} ${WRKSRC} -name Makefile | ${XARGS} \
- ${REINPLACE_CMD} -e '/^QT_CFLAGS/s|-I${LOCALBASE}/include ||'
+CATEGORIES= math science
+MASTER_SITES= SF/freemat/FreeMat4
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Numerical computing environment
+
+LICENSE= GPLv2
+
+BUILD_DEPENDS= ${LOCALBASE}/share/llvm33/cmake/LLVMConfig.cmake:${PORTSDIR}/devel/llvm33 \
+ ${LOCALBASE}/llvm33/lib/libclang.a:${PORTSDIR}/lang/clang33
+LIB_DEPENDS= libarpack.so:${PORTSDIR}/math/arpack \
+ libblas.so:${PORTSDIR}/math/blas \
+ libboost_math_c99.so:${PORTSDIR}/devel/boost-libs \
+ libffi.so:${PORTSDIR}/devel/libffi \
+ libfftw3.so:${PORTSDIR}/math/fftw3 \
+ libfftw3f.so:${PORTSDIR}/math/fftw3-float \
+ liblapack.so:${PORTSDIR}/math/lapack \
+ libpcre.so:${PORTSDIR}/devel/pcre \
+ libportaudio.so:${PORTSDIR}/audio/portaudio \
+ libumfpack.so:${PORTSDIR}/math/suitesparse
+
+USES= cmake:outsource dos2unix fortran pkgconfig
+USE_GL= yes
+USE_PYTHON_BUILD= yes
+USE_QT4= gui network opengl svg webkit xml \
+ moc_build qmake_build rcc_build uic_build
+CMAKE_ARGS= -DCMAKE_LIBRARY_PATH:STRING="${LOCALBASE}/llvm33/lib" \
+ -DCMAKE_PREFIX_PATH:STRING="${LOCALBASE}/share/llvm33/cmake" \
+ -DAMD_INCLUDE_DIR:STRING="${LOCALBASE}/include/suitesparse" \
+ -DUMFPACK_INCLUDE_DIR:STRING="${LOCALBASE}/include/suitesparse"
+DOS2UNIX_FILES= CMakeLists.txt libs/libFN/fdlibm.h
+
+CXXFLAGS+= -I${LOCALBASE}/llvm33/include
+LDFLAGS+= -L${LOCALBASE}/llvm33/lib
+
+DATADIR= ${PREFIX}/share/${PORTNAME}-${PORTVERSION}
+DESKTOP_ENTRIES="FreeMat" "" "${PREFIX}/share/pixmaps/freemat.png" \
+ "FreeMat" "Science;Math;NumericalAnalysis;" "true"
+PLIST_FILES= bin/FreeMat bin/blas.ini share/pixmaps/freemat.png
+PORTDATA= *
post-install:
- @${ECHO_MSG}
- @${ECHO_MSG} "===> Initializing..."
- ${PREFIX}/bin/FreeMat -i ${DATADIR}
- @${ECHO_MSG}
+ ${INSTALL_DATA} ${WRKSRC}/images/freemat_small_mod_64.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/freemat.png
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>