Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 May 2019 06:12:47 +0000 (UTC)
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r502857 - in head: Mk lang/julia lang/julia/files
Message-ID:  <201905280612.x4S6Cl4X010993@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lwhsu
Date: Tue May 28 06:12:47 2019
New Revision: 502857
URL: https://svnweb.freebsd.org/changeset/ports/502857

Log:
  Turn lang/julia to metaport & introduce JULIA_DEFAULT to bsd.default-versions.mk
  
  PR:		235872
  Submitted by:	Iblis Lin <iblis@hs.ntnu.edu.tw> (maintainer)

Deleted:
  head/lang/julia/distinfo
  head/lang/julia/files/
  head/lang/julia/pkg-message
  head/lang/julia/pkg-plist
Modified:
  head/Mk/bsd.default-versions.mk
  head/lang/julia/Makefile

Modified: head/Mk/bsd.default-versions.mk
==============================================================================
--- head/Mk/bsd.default-versions.mk	Tue May 28 06:08:12 2019	(r502856)
+++ head/Mk/bsd.default-versions.mk	Tue May 28 06:12:47 2019	(r502857)
@@ -16,8 +16,8 @@ _INCLUDE_BSD_DEFAULT_VERSIONS_MK=	yes
 LOCALBASE?=	/usr/local
 
 .for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \
-	LAZARUS LINUX LLVM LUA MYSQL PERL5 PGSQL PHP PYTHON PYTHON2 PYTHON3 \
-	RUBY RUST SAMBA SSL TCLTK VARNISH
+	JULIA LAZARUS LINUX LLVM LUA MYSQL PERL5 PGSQL PHP PYTHON PYTHON2 \
+	PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH
 .if defined(${lang}_DEFAULT)
 ERROR+=	"The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf"
 .endif
@@ -47,6 +47,8 @@ FPC_DEFAULT?=		3.0.4
 GCC_DEFAULT?=		8
 # Possible values: 7, 8, 9, agpl
 GHOSTSCRIPT_DEFAULT?=	agpl
+# Possible values: 0.6, 0.7, 1.0, 1.1
+JULIA_DEFAULT?=		1.0
 # Possible values: 2.0.0
 LAZARUS_DEFAULT?=	2.0.0
 .if ${ARCH} == amd64

Modified: head/lang/julia/Makefile
==============================================================================
--- head/lang/julia/Makefile	Tue May 28 06:08:12 2019	(r502856)
+++ head/lang/julia/Makefile	Tue May 28 06:12:47 2019	(r502857)
@@ -3,119 +3,57 @@
 
 PORTNAME=	julia
 PORTVERSION=	1.0.3
-PORTREVISION=	2
-DISTVERSIONSUFFIX=	-full
 CATEGORIES=	lang math
-MASTER_SITES=	https://github.com/JuliaLang/julia/releases/download/v${PORTVERSION}/
+MASTER_SITES=	# empty
+DISTFILES=	# empty
+EXTRACT_ONLY=	# empty
 
 MAINTAINER=	iblis@hs.ntnu.edu.tw
-COMMENT=	Julia Language: A fresh approach to technical computing
+COMMENT=	Meta port for the different versions of Julia compiler
 
-LICENSE=	MIT
-LICENSE_FILE=	${WRKSRC}/LICENSE.md
+# LICENSE=	# empty
+# LICENSE_FILE=	# empty
 
 ONLY_FOR_ARCHS=	amd64 i386
 
-LIB_DEPENDS=	libcurl.so:ftp/curl \
-		libgit2.so:devel/libgit2 \
-		libgmp.so:math/gmp \
-		libmbedtls.so:security/mbedtls \
-		libmpfr.so:math/mpfr \
-		libopenblasp.so:math/openblas \
-		libpcre2-8.so:devel/pcre2 \
-		libssh2.so:security/libssh2 \
-		libutf8proc.so:textproc/utf8proc
-BUILD_DEPENDS=	patchelf:sysutils/patchelf \
-		pcre2-config:devel/pcre2 \
-		cmake:devel/cmake
+NO_BUILD=	yes
 
-USES=		gmake compiler:c++11-lib fortran python:2.7,build perl5
-USE_LDCONFIG=	yes
+PLIST_FILES=	bin/julia \
+		man/man1/julia.1.gz\
+		etc/julia
 
-WRKSRC=	${WRKDIR}/${PORTNAME}-${PORTVERSION}
+OPTIONS_DEFINE=	V06 V07 V10 V11
+OPTIONS_DEFAULT=	V${JULIA_DEFAULT:S/.//} D${JULIA_DEFAULT:S/.//}
+OPTIONS_SINGLE=	DEFAULTVER
+OPTIONS_SINGLE_DEFAULTVER=	D06 D07 D10 D11  # D stands for default
 
-ALL_TARGET=	default
-INSTALL_TARGET=	install
-TEST_TARGET=	test
+V06_DESC=	Install v${:!${MAKE} -C ${PORTSDIR}/lang/julia06 -v PORTVERSION!} release
+V07_DESC=	Install v${:!${MAKE} -C ${PORTSDIR}/lang/julia07 -v PORTVERSION!} release
+V10_DESC=	Install v${:!${MAKE} -C ${PORTSDIR}/lang/julia10 -v PORTVERSION!} release \
+	(1.x long-term support branch)
+V11_DESC=	Install v${:!${MAKE} -C ${PORTSDIR}/lang/julia11 -v PORTVERSION!} release
 
-PLIST_SUB=	VERSION="${PORTVERSION:R}"
+V06_RUN_DEPENDS=	julia06:lang/julia06
+V07_RUN_DEPENDS=	julia07:lang/julia07
+V10_RUN_DEPENDS=	julia10:lang/julia10
+V11_RUN_DEPENDS=	julia11:lang/julia11
 
-CXXFLAGS+=	-stdlib=libc++ -std=c++11
-MAKE_ARGS+=	prefix=${PREFIX} \
-		JCXXFLAGS="${CXXFLAGS}" \
-		FORCE_ASSERTIONS=${FORCE_ASSERTIONS} \
-		USE_GPL_LIBS=${USE_GPL_LIBS} \
-		USE_SYSTEM_BLAS=1 \
-		USE_SYSTEM_CURL=1 \
-		USE_SYSTEM_GMP=1 \
-		USE_SYSTEM_LAPACK=1 \
-		USE_SYSTEM_LIBGIT2=1 \
-		USE_SYSTEM_LIBSSH2=1 \
-		USE_SYSTEM_LIBUV=0 \
-		USE_SYSTEM_MBEDTLS=1 \
-		USE_SYSTEM_MPFR=1 \
-		USE_SYSTEM_PATCHELF=1 \
-		USE_SYSTEM_PCRE=1 \
-		USE_SYSTEM_UTF8PROC=1 \
-		NO_GIT=1
+DEFAULTVER_DESC=	Select default version
+D06_DESC=	Please select a version for setting up symbolic links of
+D07_DESC=	bin/julia, manpage and etc/startup.jl.
 
-OPTIONS_DEFINE=	DEBUG DOCS GPL_LIBS DESKTOP NATIVE
-OPTIONS_DEFAULT=	SYSLIBM
-OPTIONS_GROUP=	PRIVATE
-OPTIONS_SINGLE=	LIBM
-OPTIONS_SINGLE_LIBM=	SYSLIBM OPENLIBM
-OPTIONS_SUB=	yes
+D06_IMPLIES=	V06
+D07_IMPLIES=	V07
+D10_IMPLIES=	V10
+D11_IMPLIES=	V11
 
-LIBM_DESC=	Math library implementation
-
-DEBUG_VARS=	FORCE_ASSERTIONS=1 \
-		ALL_TARGET=all
-DEBUG_MAKE_ARGS=	BUNDLE_DEBUG_LIBS=1
-
-PORTDOCS=	html
-DOCS_VARS=	INSTALL_TARGET+=install-docs
-
-GPL_LIBS_DESC=	Build with GPL lib: SUITESPARSE
-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
-
-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}
+_JULIA_VER=	${PORT_OPTIONS:MD*:S/D//}
 
-.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 \
-	)
+do-install:
+	${RLN} julia${_JULIA_VER} ${STAGEDIR}${PREFIX}/bin/julia
+	${RLN} ../julia/julia${_JULIA_VER}/etc/julia ${STAGEDIR}${PREFIX}/etc
+	${RLN} julia${_JULIA_VER}.1.gz ${STAGEDIR}${PREFIX}/man/man1/julia.1.gz
 
 .include <bsd.port.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905280612.x4S6Cl4X010993>