freebsd-ports/lang/julia06/Makefile
Gerald Pfeifer a9f015d155 Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.

PR:		231590
2018-12-12 01:35:33 +00:00

126 lines
3.3 KiB
Makefile

# Created by: Iblis Lin <iblis@hs.ntnu.edu.tw>
# $FreeBSD$
PORTNAME= julia
PORTVERSION= 0.6.4
DISTVERSIONSUFFIX= -full
PORTREVISION= 2
CATEGORIES= lang math
MASTER_SITES= https://github.com/JuliaLang/julia/releases/download/v${PORTVERSION}/
PKGNAMESUFFIX= 06
MAINTAINER= iblis@hs.ntnu.edu.tw
COMMENT= Julia Language: A fresh approach to technical computing
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
ONLY_FOR_ARCHS= amd64 i386
LIB_DEPENDS= libcurl.so:ftp/curl \
libgit2.so:devel/libgit2 \
libgmp.so:math/gmp \
libmpfr.so:math/mpfr \
libopenblasp.so:math/openblas \
libpcre2-8.so:devel/pcre2 \
libutf8proc.so:textproc/utf8proc
BUILD_DEPENDS= patchelf:sysutils/patchelf \
pcre2-config:devel/pcre2
USES= gmake compiler:c++11-lib fortran
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
ALL_TARGET= default
INSTALL_TARGET= install
TEST_TARGET= test
PLIST_SUB= VERSION="${PORTVERSION:R}" \
SOVERSION="${PORTVERSION}"
CXXFLAGS+= -stdlib=libc++ -std=c++11
MAKE_ARGS+= prefix=${PREFIX} JCXXFLAGS="${CXXFLAGS}" \
FORCE_ASSERTIONS=${FORCE_ASSERTIONS} \
USE_SYSTEM_CURL=1 \
USE_GPL_LIBS=${USE_GPL_LIBS}
OPTIONS_DEFINE= EXAMPLES DEBUG DOCS GPL_LIBS DESKTOP NATIVE
OPTIONS_DEFAULT= SYSLIBM
OPTIONS_GROUP= PRIVATE
OPTIONS_GROUP_PRIVATE= ARPACK LLVM
OPTIONS_SINGLE= LIBM
OPTIONS_SINGLE_LIBM= SYSLIBM OPENLIBM
OPTIONS_SUB= yes
PRIVATE_DESC= Build self-shipped private depends
LIBM_DESC= Math library implementation
DEBUG_VARS= FORCE_ASSERTIONS=1 \
ALL_TARGET=all
PORTDOCS= html
DOCS_VARS= INSTALL_TARGET+=install-docs
PORTEXAMPLES= *
EXAMPLES_VARS= INSTALL_TARGET+=install-examples
GPL_LIBS_DESC= Build with GPL libs: FFTW and SUITESPARSE
GPL_LIBS_LIB_DEPENDS= libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float
GPL_LIBS_MAKE_ARGS= USE_SYSTEM_SUITESPARSE=0
GPL_LIBS_VARS= USE_GPL_LIBS=1
DESKTOP_DESC= Install icon, .desktop and appdata files
DESKTOP_VARS= INSTALL_TARGET+=install-desktop \
INSTALLS_ICONS=yes
ARPACK_DESC= Build self-shipped private arpack-ng
ARPACK_MAKE_ARGS= USE_SYSTEM_ARPACK=0
ARPACK_MAKE_ARGS_OFF= USE_SYSTEM_ARPACK=1
ARPACK_LIB_DEPENDS_OFF= libarpack.so:math/arpack-ng
LLVM_DESC= Build self-shipped private LLVM
LLVM_MAKE_ARGS= USE_SYSTEM_LLVM=0
LLVM_MAKE_ARGS_OFF= USE_SYSTEM_LLVM=1 LLVM_CONFIG=llvm-config40
LLVM_BUILD_DEPENDS= cmake:devel/cmake
LLVM_BUILD_DEPENDS_OFF= llvm-config40:devel/llvm40
LLVM_LIB_DEPENDS_OFF= libLLVM-4.0.so:devel/llvm40
LLVM_USES= python:build perl5
SYSLIBM_DESC= Build with system libm
SYSLIBM_MAKE_ARGS= USE_SYSTEM_LIBM=1
OPENLIBM_DESC= Build with OpenLibm (math/openlibm)
OPENLIBM_MAKE_ARGS= USE_SYSTEM_OPENLIBM=1
OPENLIBM_LIB_DEPENDS= libopenlibm.so:math/openlibm
.include <bsd.port.options.mk>
NATIVE_DESC= Build with native CPU JIT tuning
.if ${PORT_OPTIONS:MNATIVE}
MAKE_ARGS+= JULIA_CPU_TARGET=native
.else
.if ${ARCH} == "amd64"
MAKE_ARGS+= JULIA_CPU_TARGET=x86-64
.elif ${ARCH} == "i386"
MAKE_ARGS+= JULIA_CPU_TARGET=pentium4
.else
MAKE_ARGS+= JULIA_CPU_TARGET=generic
.endif
.endif # .if ${PORT_OPTIONS:MNATIVE}
.if ${ARCH} == "i386"
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ui_Makefile
.endif
post-configure:
${CC} ${CFLAGS} -lopenblas ${LDFLAGS} -o ${WRKSRC}/check_openblas \
${FILESDIR}/check_openblas.c
${WRKSRC}/check_openblas && ( \
echo "USE_BLAS64=1" >> ${WRKSRC}/Make.user \
) || ( \
echo "USE_BLAS64=0" >> ${WRKSRC}/Make.user \
)
.include <bsd.port.mk>