From 09e6bef0b8f4a221753585e0f46ac8eea06f6ddc Mon Sep 17 00:00:00 2001 From: Hiroo Ono Date: Sat, 16 Mar 2024 13:32:43 +0100 Subject: [PATCH] lang/julia: unbreak build - unbreak build - elfctl wxneeded PR: 277697, 276113 --- lang/julia/Makefile | 8 ++++++-- lang/julia/files/patch-Make.inc | 33 ++++++++++++++++++++++++--------- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/lang/julia/Makefile b/lang/julia/Makefile index 7f58a71dc31b6..9ce33333abb96 100644 --- a/lang/julia/Makefile +++ b/lang/julia/Makefile @@ -1,6 +1,6 @@ PORTNAME= julia DISTVERSION= 1.9.4 -PORTREVISION= 2 +PORTREVISION= 3 DISTVERSIONSUFFIX= -full CATEGORIES= lang math MASTER_SITES= https://github.com/JuliaLang/${PORTNAME}/releases/download/v${DISTVERSION}/ @@ -39,11 +39,13 @@ BUILD_DEPENDS_amd64= ittapi>0:devel/ittapi BUILD_DEPENDS_i386= ittapi>0:devel/ittapi # Do not set USES=fortran to avoid extra-linkage -USES= gmake cpe python perl5 blaslapack:openblas +USES= blaslapack:openblas cpe elfctl gmake perl5 python _GCC_VER= ${GCC_DEFAULT:S/.//} CPE_VENDOR= julialang +ELF_FEATURES= +wxneeded:usr/bin/julia + USE_CXXSTD= c++14 USE_LDCONFIG= yes @@ -120,6 +122,8 @@ pre-configure: ) || ( \ echo "USE_BLAS64=0" >> ${WRKSRC}/Make.user \ ) + echo 'LLVM_PATCH_VERSIONFIXES= $(FILESDIR)/llvm-patch-backport-version-fixes' \ + >> ${WRKSRC}/Make.user pre-install: ${CP} ${WRKSRC}/deps/srccache/cacert-2022-10-11.pem ${WRKSRC}/usr/share/julia/cert.pem diff --git a/lang/julia/files/patch-Make.inc b/lang/julia/files/patch-Make.inc index 0eec09c34495b..d9c0231de3e5b 100644 --- a/lang/julia/files/patch-Make.inc +++ b/lang/julia/files/patch-Make.inc @@ -1,4 +1,4 @@ ---- Make.inc.orig 2023-08-24 16:20:21 UTC +--- Make.inc.orig 2023-11-14 16:57:00 UTC +++ Make.inc @@ -268,7 +268,7 @@ docdir := $(datarootdir)/doc/julia libexecdir := $(prefix)/libexec @@ -52,7 +52,16 @@ ifneq ($(CC_BASE)$(CXX_BASE),$(shell echo $(CC) | cut -d' ' -f1)$(shell echo $(CXX) | cut -d' ' -f1)) $(error Forgot override directive on CC or CXX in Make.user? Cowardly refusing to build) endif -@@ -1295,14 +1268,8 @@ JLDFLAGS += -Wl,-Bdynamic +@@ -1278,7 +1251,7 @@ JLDFLAGS += -Wl,-Bdynamic + JCPPFLAGS += -DJULIA_HAS_IFUNC_SUPPORT=1 + endif + JLDFLAGS += -Wl,-Bdynamic +-OSLIBS += -Wl,--version-script=$(JULIAHOME)/src/julia.expmap ++OSLIBS = -Wl,--version-script=$(JULIAHOME)/src/julia.expmap + ifneq ($(SANITIZE),1) + JLDFLAGS += -Wl,-no-undefined + endif +@@ -1295,16 +1268,12 @@ JLDFLAGS += -Wl,-Bdynamic ifeq ($(OS), FreeBSD) JLDFLAGS += -Wl,-Bdynamic @@ -65,10 +74,16 @@ -# See #21788 -OSLIBS += -lgcc_s - - OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \ - $(NO_WHOLE_ARCHIVE) +-OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \ +- $(NO_WHOLE_ARCHIVE) ++JLIBVERFLAGS = -Wl,--version-script=$(JULIAHOME)/src/julialib.expmap ++JCGVERFLAGS = -Wl,--version-script=$(JULIAHOME)/src/juliacg.expmap ++JEXEVERFLAGS = -Wl,--version-script=$(JULIAHOME)/src/flisp/juliaexe.expmap ++OSLIBS += -Wl,--export-dynamic $(NO_WHOLE_ARCHIVE) endif -@@ -1511,30 +1478,6 @@ LIBJULIACODEGEN_DEBUG_INSTALL_DEPLIB := $(call dep_lib + + ifeq ($(OS), Darwin) +@@ -1511,30 +1480,6 @@ LIBJULIACODEGEN_DEBUG_INSTALL_DEPLIB := $(call dep_lib LIBJULIACODEGEN_DEBUG_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_shlibdir)/libjulia-codegen-debug.$(JL_MAJOR_SHLIB_EXT)) LIBJULIACODEGEN_DEBUG_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/libjulia-codegen-debug.$(JL_MAJOR_SHLIB_EXT)) @@ -99,7 +114,7 @@ # USE_SYSTEM_CSL causes it to get symlinked into build_private_shlibdir ifeq ($(USE_SYSTEM_CSL),1) LIBGCC_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBGCC_NAME)) -@@ -1567,7 +1510,6 @@ LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$ +@@ -1567,7 +1512,6 @@ LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$ LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) # We list: @@ -107,7 +122,7 @@ # * libopenlibm, because Windows has an untrustworthy libm, and we want to use ours more than theirs # * libstdc++, because while performing `libstdc++` probing we need to # know the path to the bundled `libstdc++` library. -@@ -1589,7 +1531,6 @@ LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \ +@@ -1589,7 +1533,6 @@ LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \ endef LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \ @@ -115,7 +130,7 @@ $(LIBM_BUILD_DEPLIB) \ @$(LIBSTDCXX_BUILD_DEPLIB) \ @$(LIBJULIAINTERNAL_BUILD_DEPLIB) \ -@@ -1597,7 +1538,6 @@ LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \ +@@ -1597,7 +1540,6 @@ LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \ ) LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \ @@ -123,7 +138,7 @@ $(LIBM_BUILD_DEPLIB) \ @$(LIBSTDCXX_BUILD_DEPLIB) \ @$(LIBJULIAINTERNAL_DEBUG_BUILD_DEPLIB) \ -@@ -1605,14 +1545,12 @@ LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \ +@@ -1605,14 +1547,12 @@ LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \ ) LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \