Index: head/lang/julia/Makefile =================================================================== --- head/lang/julia/Makefile (revision 474735) +++ head/lang/julia/Makefile (revision 474736) @@ -1,125 +1,124 @@ # Created by: Iblis Lin # $FreeBSD$ PORTNAME= julia -PORTVERSION= 0.6.3 +PORTVERSION= 0.6.4 DISTVERSIONSUFFIX= -full -PORTREVISION= 1 CATEGORIES= lang math MASTER_SITES= https://github.com/JuliaLang/julia/releases/download/v${PORTVERSION}/ 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 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 Index: head/lang/julia/distinfo =================================================================== --- head/lang/julia/distinfo (revision 474735) +++ head/lang/julia/distinfo (revision 474736) @@ -1,3 +1,3 @@ -TIMESTAMP = 1528732844 -SHA256 (julia-0.6.3-full.tar.gz) = 2b5b0d84e49ca88fdec6d54a64eba4ce77f5c5cb8f34d307f3ba0ec04a89913a -SIZE (julia-0.6.3-full.tar.gz) = 90879414 +TIMESTAMP = 1531703695 +SHA256 (julia-0.6.4-full.tar.gz) = 2b2f5543ad4206eb40c7b850cdfc5a812c6df0b2b5bcf6a3206c0e446d988f1b +SIZE (julia-0.6.4-full.tar.gz) = 90983649 Index: head/lang/julia/files/patch-Makefile =================================================================== --- head/lang/julia/files/patch-Makefile (revision 474735) +++ head/lang/julia/files/patch-Makefile (revision 474736) @@ -1,100 +1,114 @@ ---- Makefile.orig 2018-05-27 21:19:34 UTC +--- Makefile.orig 2018-07-09 19:17:10 UTC +++ Makefile @@ -71,7 +71,6 @@ $(build_prefix)/.examples: $(wildcard $(JULIAHOME)/exa @mkdir -p $(build_docdir)/examples @cp -R $(JULIAHOME)/examples/*.jl $(build_docdir)/examples/ @cp -R $(JULIAHOME)/examples/clustermanager $(build_docdir)/examples/ - @cp -R $(JULIAHOME)/examples/embedding $(build_docdir)/examples @echo 1 > $@ julia-symlink: julia-ui-$(JULIA_BUILD_MODE) @@ -96,7 +95,7 @@ julia-src-release julia-src-debug : julia-src-% : juli julia-ui-release julia-ui-debug : julia-ui-% : julia-src-% @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/ui julia-$* -julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples +julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE) ifneq ($(CPUID_SPECIFIC_BINARIES), 0) -@@ -333,7 +332,7 @@ define stringreplace +@@ -351,7 +350,7 @@ define stringreplace $(build_depsbindir)/stringreplace $$(strings -t x - $1 | grep '$2' | awk '{print $$1;}') '$3' 255 "$(call cygpath_w,$1)" endef -install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html +install: $(build_depsbindir)/stringreplace @$(MAKE) $(QUIET_MAKE) all @for subdir in $(bindir) $(datarootdir)/julia/site/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \ mkdir -p $(DESTDIR)$$subdir; \ -@@ -378,9 +377,6 @@ endif +@@ -396,9 +395,6 @@ endif $(INSTALL_M) $(JULIAHOME)/contrib/build_sysimg.jl $(DESTDIR)$(datarootdir)/julia/ # Copy in all .jl sources as well cp -R -L $(build_datarootdir)/julia $(DESTDIR)$(datarootdir)/ - # Copy documentation - cp -R -L $(build_docdir)/* $(DESTDIR)$(docdir)/ - cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ # Remove perf suite -rm -rf $(DESTDIR)$(datarootdir)/julia/test/perf/ # Remove various files which should not be installed -@@ -388,37 +384,43 @@ endif +@@ -406,51 +402,43 @@ endif -rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile # Copy in beautiful new man page $(INSTALL_F) $(build_man1dir)/julia.1 $(DESTDIR)$(man1dir)/ - # Copy icon and .desktop file - mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ - $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ - -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ - -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ - mkdir -p $(DESTDIR)$(datarootdir)/applications/ - $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ - # Install appdata file - mkdir -p $(DESTDIR)$(datarootdir)/appdata/ - $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ - # Update RPATH entries and JL_SYSTEM_IMAGE_PATH if $(private_libdir_rel) != $(build_private_libdir_rel) -ifneq ($(private_libdir_rel),$(build_private_libdir_rel)) + # Update RPATH entries and JL_SYSTEM_IMAGE_PATH if $(libdir_rel) != $(private_libdir_rel) +ifneq ($(libdir_rel),$(private_libdir_rel)) ifeq ($(OS), Darwin) for julia in $(DESTDIR)$(bindir)/julia* ; do \ install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $$julia; \ install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $$julia; \ done -else ifneq (,$(findstring $(OS),Linux FreeBSD)) +else for julia in $(DESTDIR)$(bindir)/julia* ; do \ - patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $$julia; \ + patchelf --set-rpath '$(GCCPATH):$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $$julia; \ done endif - - # Overwrite JL_SYSTEM_IMAGE_PATH in julia library - $(call stringreplace,$(DESTDIR)$(libdir)/libjulia.$(SHLIB_EXT),sys.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys.$(SHLIB_EXT)) - $(call stringreplace,$(DESTDIR)$(libdir)/libjulia-debug.$(SHLIB_EXT),sys-debug.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys-debug.$(SHLIB_EXT)) endif +- # On FreeBSD, remove the build's libdir from each library's RPATH +-ifeq ($(OS),FreeBSD) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(libdir) $(build_libdir) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(private_libdir) $(build_libdir) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(bindir) $(build_libdir) +- # Set libgfortran's RPATH to ORIGIN instead of GCCPATH. It's only libgfortran that +- # needs to be fixed here, as libgcc_s and libquadmath don't have RPATHs set. If we +- # don't set libgfortran's RPATH, it won't be able to find its friends on systems +- # that don't have the exact GCC port installed used for the build. +- for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \ +- $(build_depsbindir)/patchelf --set-rpath '$$ORIGIN' $$lib; \ +- done +-endif +- mkdir -p $(DESTDIR)$(sysconfdir) cp -R $(build_sysconfdir)/julia $(DESTDIR)$(sysconfdir)/ + +install-docs: + # Copy documentation + cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ + +install-examples: + mkdir -p $(DESTDIR)$(datarootdir)/examples/julia/ + cp -R -L $(JULIAHOME)/examples/* $(DESTDIR)$(datarootdir)/examples/julia/ + +install-desktop: + # Copy icon and .desktop file + mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ + $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ + -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ + -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ + mkdir -p $(DESTDIR)$(datarootdir)/applications/ + $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ + # Install appdata file + mkdir -p $(DESTDIR)$(datarootdir)/appdata/ + $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ distclean dist-clean: -rm -fr $(BUILDROOT)/julia-*.tar.gz $(BUILDROOT)/julia*.exe $(BUILDROOT)/julia-*.7z $(BUILDROOT)/julia-$(JULIA_COMMIT)