Index: head/lang/julia/Makefile =================================================================== --- head/lang/julia/Makefile (revision 488593) +++ head/lang/julia/Makefile (revision 488594) @@ -1,121 +1,120 @@ # Created by: Iblis Lin # $FreeBSD$ PORTNAME= julia -PORTVERSION= 1.0.2 -PORTREVISION= 1 +PORTVERSION= 1.0.3 DISTVERSIONSUFFIX= -full 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 \ 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 USES= gmake compiler:c++11-lib fortran python:2.7,build perl5 USE_LDCONFIG= yes -WRKSRC= ${WRKDIR}/${PORTNAME} +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} ALL_TARGET= default INSTALL_TARGET= install TEST_TARGET= test PLIST_SUB= VERSION="${PORTVERSION:R}" 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 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 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 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 488593) +++ head/lang/julia/distinfo (revision 488594) @@ -1,3 +1,3 @@ -TIMESTAMP = 1541862400 -SHA256 (julia-1.0.2-full.tar.gz) = 74c850516b293029fcefb1114145c424cab64e1d2f87264350d88a237f5f8bc5 -SIZE (julia-1.0.2-full.tar.gz) = 95704004 +TIMESTAMP = 1545107140 +SHA256 (julia-1.0.3-full.tar.gz) = 618e6d29f1fba00f5b2bebf14e69a3a536c27c3132e021cf39774e8500dd29fa +SIZE (julia-1.0.3-full.tar.gz) = 95732731 Index: head/lang/julia/files/patch-Makefile =================================================================== --- head/lang/julia/files/patch-Makefile (revision 488593) +++ head/lang/julia/files/patch-Makefile (revision 488594) @@ -1,121 +1,122 @@ ---- Makefile.orig 2018-08-02 19:21:47 UTC +--- Makefile.orig 2018-12-18 01:38:57 UTC +++ Makefile -@@ -266,24 +266,6 @@ endif +@@ -264,24 +264,6 @@ endif endif endif -# On FreeBSD, /lib/libgcc_s.so.1 is incompatible with Fortran; to use Fortran on FreeBSD, -# we need to link to the libgcc_s that ships with the same GCC version used by libgfortran. -# To work around this, we copy the GCC libraries we need, namely libgfortran, libgcc_s, -# and libquadmath, into our build library directory, $(build_libdir). We also add them to -# JL_PRIVATE_LIBS-0 so that they know where they need to live at install time. -ifeq ($(OS),FreeBSD) -define std_so -julia-deps: | $$(build_libdir)/$(1).so -$$(build_libdir)/$(1).so: | $$(build_libdir) - $$(INSTALL_M) $$(GCCPATH)/$(1).so* $$(build_libdir) -JL_PRIVATE_LIBS-0 += $(1) -endef - -$(eval $(call std_so,libgfortran)) -$(eval $(call std_so,libgcc_s)) -$(eval $(call std_so,libquadmath)) -endif # FreeBSD - ifeq ($(OS),WINNT) define std_dll julia-deps: | $$(build_bindir)/lib$(1).dll $$(build_depsbindir)/lib$(1).dll -@@ -316,8 +298,7 @@ define stringreplace - $(build_depsbindir)/stringreplace $$(strings -t x - $1 | grep '$2' | awk '{print $$1;}') '$3' 255 "$(call cygpath_w,$1)" - endef +@@ -328,8 +310,7 @@ JL_PRIVATE_LIBS-0 += libgfortran libgcc_s libquadmath + endif + -install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html - @$(MAKE) $(QUIET_MAKE) all +install: $(build_depsbindir)/stringreplace @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \ mkdir -p $(DESTDIR)$$subdir; \ done -@@ -359,10 +340,6 @@ endif +@@ -371,10 +352,6 @@ endif fi \ done \ done - for suffix in $(JL_PRIVATE_LIBS-1) ; do \ - lib=$(build_private_libdir)/$${suffix}.$(SHLIB_EXT); \ - $(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \ - done endif # Copy public headers -@@ -376,24 +353,11 @@ endif +@@ -389,8 +366,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 $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ # Remove various files which should not be installed -rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh -rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile +@@ -400,16 +375,6 @@ endif + -rm -f $(DESTDIR)$(datarootdir)/julia/stdlib/$(VERSDIR)/*/build-checked # 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)) - ifeq ($(OS), Darwin) -@@ -403,7 +367,7 @@ ifeq ($(OS), Darwin) +@@ -420,7 +385,7 @@ ifeq ($(OS), Darwin) done else ifneq (,$(findstring $(OS),Linux FreeBSD)) for j in $(JL_TARGETS) ; do \ - patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ + patchelf --set-rpath '$(GCCPATH):$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ done endif -@@ -414,22 +378,24 @@ ifeq ($(BUNDLE_DEBUG_LIBS),1) +@@ -431,22 +396,24 @@ ifeq ($(BUNDLE_DEBUG_LIBS),1) endif 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-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: + distclean: -rm -fr $(BUILDROOT)/julia-*.tar.gz $(BUILDROOT)/julia*.exe $(BUILDROOT)/julia-*.7z $(BUILDROOT)/julia-$(JULIA_COMMIT) Index: head/lang/julia/files/patch-stdlib_Makefile =================================================================== --- head/lang/julia/files/patch-stdlib_Makefile (revision 488593) +++ head/lang/julia/files/patch-stdlib_Makefile (revision 488594) @@ -1,15 +1,19 @@ ---- stdlib/Makefile.orig 2018-11-08 20:15:38 UTC +--- stdlib/Makefile.orig 2018-12-16 21:26:52 UTC +++ stdlib/Makefile -@@ -21,6 +21,12 @@ $(eval $(call git-external,Pkg,PKG,,,$(BUILDDIR))) - extract-pkg: $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted - Pkg: $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted - rm -rf $@ +@@ -25,8 +25,15 @@ PKG_GIT_URL := git://github.com/JuliaLang/Pkg.jl.git + PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1 + $(eval $(call git-external,Pkg,PKG,,,$(BUILDDIR))) + $(BUILDDIR)/$(PKG_SRC_DIR)/build-compiled: $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted +- @# no build steps ++ rm $(BUILDDIR)/$(PKG_SRC_DIR)/.gitignore + rm $(BUILDDIR)/$(PKG_SRC_DIR)/.codecov.yml + rm $(BUILDDIR)/$(PKG_SRC_DIR)/.travis.yml + rm $(BUILDDIR)/$(PKG_SRC_DIR)/appveyor.yml + rm $(BUILDDIR)/$(PKG_SRC_DIR)/ext/TOML/.travis.yml + rm $(BUILDDIR)/$(PKG_SRC_DIR)/ext/TOML/appveyor.yml + rm $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted - cp -r $(BUILDDIR)/$(PKG_SRC_DIR) $@ - get-pkg: Pkg - clean-pkg: + echo 1 > $@ ++ + $(eval $(call symlink_install,Pkg,$$(PKG_SRC_DIR),$$(build_datarootdir)/julia/stdlib/$$(VERSDIR))) + clean-Pkg: + -rm $(BUILDDIR)/$(PKG_SRC_DIR)/build-compiled