git: 54eaa9043d92 - main - lang/julia: Update to 1.10.3

From: Li-Wen Hsu <lwhsu_at_FreeBSD.org>
Date: Fri, 10 May 2024 16:11:45 UTC
The branch main has been updated by lwhsu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=54eaa9043d92b513a1b4952b47d7b7a069ba888a

commit 54eaa9043d92b513a1b4952b47d7b7a069ba888a
Author:     Hiroo Ono <hiroo.ono+freebsd@gmail.com>
AuthorDate: 2024-05-10 15:55:56 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2024-05-10 16:11:27 +0000

    lang/julia: Update to 1.10.3
    
    PR:             278694
---
 lang/julia/Makefile                                |  185 +-
 lang/julia/distinfo                                |   60 +-
 lang/julia/files/General.toml.in                   |    3 +
 lang/julia/files/llvm-patch-backport-version-fixes |   22 +-
 lang/julia/files/patch-Make.inc                    |  149 +-
 lang/julia/files/patch-Makefile                    |   65 +-
 lang/julia/files/patch-base_Makefile               |   12 -
 lang/julia/files/patch-deps_llvm.mk                |   54 +-
 lang/julia/files/patch-deps_zlib.mk                |   10 +
 lang/julia/files/patch-doc_make.jl                 |   62 +
 .../files/patch-doc_src_manual_unicode-input.md    |   11 +
 lang/julia/files/patch-src_Makefile                |   99 +-
 lang/julia/files/patch-src_flisp_Makefile          |   36 -
 .../patch-stdlib_LibGit2__jll_src_LibGit2__jll.jl  |    6 +-
 .../patch-stdlib_MbedTLS__jll_src_MbedTLS__jll.jl  |    2 +-
 ...patch-stdlib_OpenLibm__jll_src_OpenLibm__jll.jl |    2 +-
 .../files/patch-stdlib_Zlib__jll_src_Zlib__jll.jl  |   11 -
 lang/julia/pkg-plist                               | 2242 +++++++++++---------
 18 files changed, 1682 insertions(+), 1349 deletions(-)

diff --git a/lang/julia/Makefile b/lang/julia/Makefile
index 9ce33333abb9..2da4f0c53118 100644
--- a/lang/julia/Makefile
+++ b/lang/julia/Makefile
@@ -1,9 +1,23 @@
 PORTNAME=	julia
-DISTVERSION=	1.9.4
-PORTREVISION=	3
+DISTVERSION=	1.10.3
 DISTVERSIONSUFFIX=	-full
 CATEGORIES=	lang math
 MASTER_SITES=	https://github.com/JuliaLang/${PORTNAME}/releases/download/v${DISTVERSION}/
+DOCS_MASTER_SITES= https://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/:unicode \
+		https://jp.pkg.julialang.org/registry/${JPKGUUID}/:jpkg \
+		https://github.com/JuliaBinaryWrappers/Expat_jll.jl/releases/download/Expat-v2.6.2+0/:afexpat \
+		https://github.com/JuliaBinaryWrappers/Git_jll.jl/releases/download/Git-v2.44.0+2/:afgit \
+		https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.17.0+0/:aflibiconv \
+		https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/OpenSSL-v3.0.13+1/:afopenssl
+
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
+DOCS_DISTFILES= UnicodeData.txt:unicode \
+		Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz:afexpat \
+		Git.v2.44.0.x86_64-unknown-freebsd.tar.gz:afgit \
+		Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz:aflibiconv \
+		OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz:afopenssl \
+		${JPKGSHA1}:jpkg
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Implementation of Julia, a language for technical computing
@@ -15,47 +29,51 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.md
 ONLY_FOR_ARCHS=		amd64
 ONLY_FOR_ARCHS_REASON=	Has not been ported to this platform for freebsd
 
-MY_DEPENDS=	7zz:archivers/7-zip
+MY_DEPENDS=	7zz:archivers/7-zip \
+		ca_root_nss>=0:security/ca_root_nss \
+		gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
 BUILD_DEPENDS=	patchelf:sysutils/patchelf \
 		cmake:devel/cmake-core \
-		gfortran${_GCC_VER}:lang/gcc${_GCC_VER}	\
 		${MY_DEPENDS}
+
 LIB_DEPENDS=	libcurl.so:ftp/curl \
 		libdSFMT.so:math/dsfmt \
 		libgit2.so:devel/libgit2 \
 		libgmp.so:math/gmp \
+		libnghttp2.so:www/libnghttp2 \
 		libmbedtls.so:security/mbedtls \
 		libmpfr.so:math/mpfr \
+		libopenlibm.so:math/openlibm \
 		libpcre2-8.so:devel/pcre2 \
 		libssh2.so:security/libssh2 \
+		libsuitesparseconfig.so:math/suitesparse-config \
 		libutf8proc.so:textproc/utf8proc \
-		libnghttp2.so:www/libnghttp2 \
 		libunwind.so:devel/libunwind \
-		libopenlibm.so:math/openlibm
-RUN_DEPENDS=	${MY_DEPENDS} \
-		gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
+		libzstd.so:archivers/zstd
+RUN_DEPENDS=	${MY_DEPENDS}
 
 BUILD_DEPENDS_amd64=	ittapi>0:devel/ittapi
 BUILD_DEPENDS_i386=	ittapi>0:devel/ittapi
 
 # Do not set USES=fortran to avoid extra-linkage
-USES=		blaslapack:openblas cpe elfctl gmake perl5 python
+USES=		blaslapack:openblas compiler:c++17-lang cpe elfctl gmake \
+		perl5 python shebangfix
 _GCC_VER=	${GCC_DEFAULT:S/.//}
 
 CPE_VENDOR=	julialang
 
 ELF_FEATURES=	+wxneeded:usr/bin/julia
 
-USE_CXXSTD=	c++14
 USE_LDCONFIG=	yes
 
-MAKE_ARGS+=	NO_GIT=1 \
+MAKE_ARGS+=	JULIA_DEBUG=Documenter VERBOSE=1 NO_GIT=1 \
 		USE_BINARYBUILDER=0 \
 		prefix=${PREFIX} \
-		JCXXFLAGS="${CXXFLAGS}" \
 		USE_GPL_LIBS=0 \
 		ARCH=x86_64 \
 		JULIA_CPU_TARGET=generic \
+		USE_SYSTEM_BLAS=1 \
+		USE_SYSTEM_CSL=1 \
 		USE_SYSTEM_CURL=1 \
 		USE_SYSTEM_DSFMT=1 \
 		USE_SYSTEM_GMP=1 \
@@ -63,17 +81,18 @@ MAKE_ARGS+=	NO_GIT=1 \
 		USE_SYSTEM_LAPACK=1 \
 		USE_SYSTEM_LIBGIT2=1 \
 		USE_SYSTEM_LIBSSH2=1 \
+		USE_SYSTEM_LIBUNWIND=1 \
+		USE_SYSTEM_LLD=1 \
 		USE_SYSTEM_MBEDTLS=1 \
 		USE_SYSTEM_MPFR=1 \
+		USE_SYSTEM_NGHTTP2=1 \
+		USE_SYSTEM_P7ZIP=1 \
 		USE_SYSTEM_PATCHELF=1 \
 		USE_SYSTEM_PCRE=1 \
 		USE_SYSTEM_UTF8PROC=1 \
-		USE_SYSTEM_P7ZIP=1 \
-		USE_SYSTEM_BLAS=1 \
-		USE_SYSTEM_NGHTTP2=1 \
-		USE_SYSTEM_CSL=1 \
-		USE_SYSTEM_ZLIB=1 \
-		USE_SYSTEM_LIBUNWIND=1
+		USE_SYSTEM_ZLIB=0 \
+		CC=${CC} \
+		CXX=${CXX}
 ALL_TARGET=	default
 INSTALL_TARGET=	install
 TEST_TARGET=	test
@@ -84,7 +103,8 @@ BINARY_ALIAS=	python3=${PYTHON_CMD} gfortran=gfortran${_GCC_VER}
 
 WRKSRC=		${WRKDIR}/julia-${DISTVERSION}
 
-PLIST_SUB=	VERSION="${PORTVERSION:R}"
+PLIST_SUB=	VERSION="${PORTVERSION}" \
+		MINOR="${PORTVERSION:R}"
 PORTDOCS=	html
 
 OPTIONS_DEFINE=		DEBUG DOCS NATIVE
@@ -94,11 +114,15 @@ OPTIONS_SUB=		yes
 NATIVE_DESC=		Build with native CPU JIT tuning
 NATIVE_MAKE_ARGS=	JULIA_CPU_TARGET=native
 
+DEBUG_VARS=		ALL_TARGET=all
 DEBUG_MAKE_ARGS=	FORCE_ASSERTIONS=1 \
-			ALL_TARGET=all \
 			BUNDLE_DEBUG_LIBS=1
 
-DOCS_VARS=		INSTALL_TARGET+=install-docs
+DOCS_MAKE_ENV+=		JULIA_PKG_OFFLINE="true"
+DOCS_VARS=		ALL_TARGET+=docs  \
+			INSTALL_TARGET+=install-docs
+
+LATE_SHEBANG_GLOB=	compile.jl generator.jl
 
 .include <bsd.port.pre.mk>
 
@@ -106,6 +130,94 @@ DOCS_VARS=		INSTALL_TARGET+=install-docs
 MAKE_ARGS+=	USE_SYSTEM_ITTAPI=1
 .endif
 
+.if ${PORT_OPTIONS:MDOCS}
+USE_GITHUB=	nodefault
+UNICODE_DATA_VERSION=	13.0.0
+GH_TUPLE=	JuliaDocs:Documenter.jl:v1.4.1:documenter \
+	JuliaDocs:ANSIColoredPrinters.jl:v0.0.1:ansicoloredprinters \
+	JuliaCollections:AbstractTrees.jl:6f9cd4ad60dc579f7a3271950d4846610c2f340d:abstracttrees \
+	JuliaIO:CodecZlib.jl:v0.7.4:codeczlib \
+	JuliaDocs:DocStringExtensions.jl:v0.9.3:docstringextensions \
+	JuliaDocs:DocumenterInventoryWritingBackport.jl:v0.1.0:documenterinventorywritingbackport \
+	JuliaBinaryWrappers:Expat_jll.jl:Expat-v2.6.2+0:expatjll \
+	JuliaVersionControl:Git.jl:v1.3.1:git \
+	JuliaBinaryWrappers:Git_jll.jl:Git-v2.44.0+2:gitjll \
+	JuliaDocs:IOCapture.jl:v0.2.4:iocapture \
+	JuliaPackaging:JLLWrappers.jl:v1.5.0:jllwrappers \
+	JuliaIO:JSON.jl:v0.21.4:json \
+	KristofferC:LazilyInitializedFields.jl:3b6cc53c8780ebbe3ee209b8a8e6b8844ce284f2:lazilyinitializedfields \
+	JuliaBinaryWrappers:Libiconv_jll.jl:Libiconv-v1.17.0+0:libiconvjll \
+	JuliaDocs:MarkdownAST.jl:v0.1.2:markdownast \
+	JuliaBinaryWrappers:OpenSSL_jll.jl:OpenSSL-v3.0.13+1:openssljll \
+	JuliaData:Parsers.jl:v2.8.1:parsers \
+	JuliaLang:PrecompileTools.jl:v1.2.1:precompiletools \
+	JuliaPackaging:Preferences.jl:v1.4.3:preferences \
+	GunnarFarneback:RegistryInstances.jl:2796d959014475bc19e2dfa174179cdf02642d28:registryinstances \
+	JuliaIO:TranscodingStreams.jl:v0.10.8:transcodingstreams
+DOCPKGDIR_documenter=	Documenter
+DOCPKGDIR_abstracttrees=	AbstractTrees
+DOCPKGDIR_ansicoloredprinters=	ANSIColoredPrinters
+DOCPKGDIR_codeczlib=	CodecZlib
+DOCPKGDIR_docstringextensions=	DocStringExtensions
+DOCPKGDIR_documenterinventorywritingbackport= DocumenterInventoryWritingBackport
+DOCPKGDIR_expatjll=	Expat_jll
+DOCPKGDIR_git=		Git
+DOCPKGDIR_gitjll=	Git_jll
+DOCPKGDIR_iocapture=	IOCapture
+DOCPKGDIR_jllwrappers=	JLLWrappers
+DOCPKGDIR_json=		JSON
+DOCPKGDIR_lazilyinitializedfields=	LazilyInitializedFields
+DOCPKGDIR_libiconvjll=	Libiconv_jll
+DOCPKGDIR_markdownast=	MarkdownAST
+DOCPKGDIR_openssljll=	OpenSSL_jll
+DOCPKGDIR_parsers=	Parsers
+DOCPKGDIR_precompiletools=	PrecompileTools
+DOCPKGDIR_preferences=	Preferences
+DOCPKGDIR_registryinstances=	RegistryInstances
+DOCPKGDIR_transcodingstreams=	TranscodingStreams
+JPKGUUID=	23338594-aafe-5451-b93e-139f81909106
+JPKGSHA1=	151ade91c9c8fcadd03fda2a9df961a173dae33d
+ADIR_afexpat=	f6cac9c7c81901bdea8226624199290c849eb8fd
+ADIR_afgit=	9d10e86e65fcea93f0a73ac9ab7efbc9507ef246
+ADIR_aflibiconv=	7f55b73b331bc9ab70cbd95a194c89feb3650f16
+ADIR_afopenssl=	f87ab68c6b682f7ab08df0745d5e38edb8e5bded
+DARC_afexpat=	Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz
+DARC_afgit=	Git.v2.44.0.x86_64-unknown-freebsd.tar.gz
+DARC_aflibiconv=	Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz
+DARC_afopenssl=	OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz
+.endif
+
+post-extract:
+	@${MKDIR} ${WRKSRC}/deps/srccache
+	${CP} ${FILESDIR}/llvm-patch-backport-version-fixes \
+		${WRKSRC}/deps/patches/llvm-version-fixes.patch
+
+post-extract-DOCS-on:
+	@${MKDIR} ${WRKSRC}/doc/deps/registries
+	${CP} ${DISTDIR}/UnicodeData.txt \
+		${WRKSRC}/deps/srccache/UnicodeData-${UNICODE_DATA_VERSION}.txt
+.for pkg in documenter ansicoloredprinters abstracttrees codeczlib \
+	docstringextensions documenterinventorywritingbackport expatjll \
+	git gitjll iocapture jllwrappers json lazilyinitializedfields \
+       	libiconvjll markdownast openssljll parsers precompiletools \
+	preferences registryinstances transcodingstreams
+	@${MKDIR} ${WRKSRC}/doc/deps/packages/${DOCPKGDIR_${pkg}}
+	${TAR} -C ${WRKSRC}/doc/deps/packages/${DOCPKGDIR_${pkg}} \
+		--strip-components 1 \
+		-xf ${DISTDIR}/${DISTFILE_${pkg}}
+.endfor
+.for af in afexpat afgit aflibiconv afopenssl
+	@${MKDIR} ${WRKSRC}/doc/deps/artifacts/${ADIR_${af}}
+	${TAR} -C ${WRKSRC}/doc/deps/artifacts/${ADIR_${af}} \
+		-xf ${DISTDIR}/${DARC_${af}}
+.endfor
+	${CP} ${DISTDIR}/${JPKGSHA1} \
+		${WRKSRC}/doc/deps/registries/General.tar.gz
+	${CAT} ${FILESDIR}/General.toml.in | \
+		${SED} 's/%%UUID%%/${JPKGUUID}/' | \
+		${SED} 's/%%SHA1%%/${JPKGSHA1}/' \
+		> ${WRKSRC}/doc/deps/registries/General.toml
+
 pre-configure:
 	echo "override TAGGED_RELEASE_BANNER=\"FreeBSD port lang/${PORTNAME} build\"" >> ${WRKSRC}/Make.user
 	# unset ARCH for auto-detection
@@ -122,33 +234,38 @@ 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
+	${MAKE} SHEBANG_GLOB="${LATE_SHEBANG_GLOB}" fix-shebang
+	${CP} ${WRKSRC}/deps/srccache/cacert-2023-01-10.pem ${WRKSRC}/usr/share/julia/cert.pem
+
+pre-install-DEBUG-on:
+	@(cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${FAKEROOT} \
+		${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} \
+		MAKECMDGOALS=debug install)
+
+pre-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
 
 post-install:
-	# clean up for Pkg3.jl
 .for file in .codecov.yml .travis.yml appveyor.yml bors.toml .gitignore source-extracted *.orig
-	${FIND} ${STAGEDIR}${PREFIX}/share/julia/ -name "${file}" -delete
+	${FIND} ${STAGEDIR}${DATADIR} -name "${file}" -delete
 .endfor
-.for dir in Statistics SuiteSparse ArgTools Pkg Downloads LibCURL NetworkOptions Tar
-	${RM} -fr ${STAGEDIR}${PREFIX}/share/julia/stdlib/v${PORTVERSION:R}/${dir}/.github/
+.for dir in .ci .devcontainer .github
+	${FIND} ${STAGEDIR}${DATADIR} -name "${dir}" -type d -exec ${RM} -fr {} +
 .endfor
-	${RM} -rf ${STAGEDIR}${PREFIX}/share/julia/compiled
+	${RM} ${STAGEDIR}${DATADIR}/base.cache
 
-post-install-DEBUG-off:
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/julia*
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/julia
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libjulia.so*
-.for bin in libccalltest.so libllvmcalltest.so libjulia-internal.so* libblastrampoline.so libuv.so* libLLVM* sys.so libjulia-codegen.so*
+.for bin in libccalltest.so libllvmcalltest.so libjulia-internal.so* libblastrampoline.so libuv.so* libz.so* libLLVM* sys.so libjulia-codegen.so*
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/julia/${bin}
 .endfor
 .for bin in lld dsymutil
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/julia/${bin}
 .endfor
 
-post-install-DOCS-off:
-	${RM} -r ${STAGEDIR}${PREFIX}/${INSTALLDIR}/share/doc
+	@${MV} ${STAGEDIR}${ETCDIR}/startup.jl \
+		${STAGEDIR}${ETCDIR}/startup.jl.sample
 
 .include <bsd.port.post.mk>
diff --git a/lang/julia/distinfo b/lang/julia/distinfo
index 45ba18c90a98..2226e4f6179e 100644
--- a/lang/julia/distinfo
+++ b/lang/julia/distinfo
@@ -1,3 +1,57 @@
-TIMESTAMP = 1700644108
-SHA256 (julia-1.9.4-full.tar.gz) = 61843b9647fd06d3b2994f3277a64de1cb5a5a5297d930b8c8e3bc0e93740024
-SIZE (julia-1.9.4-full.tar.gz) = 294983229
+TIMESTAMP = 1715263119
+SHA256 (julia-1.10.3-full.tar.gz) = d892b2123be64dacf9d05e4ccbad7f1797f6bf87c397a74804b011c8750f6c8f
+SIZE (julia-1.10.3-full.tar.gz) = 318660498
+SHA256 (UnicodeData.txt) = bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb
+SIZE (UnicodeData.txt) = 1851767
+SHA256 (Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz) = 0c2445fbf26b5633f10ee074a482181a240705925525214c676ee59e24b08ba3
+SIZE (Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz) = 286205
+SHA256 (Git.v2.44.0.x86_64-unknown-freebsd.tar.gz) = 91c4e0c9e811554155046e7cf3b8141f968316e73c02a9575582865585e2b518
+SIZE (Git.v2.44.0.x86_64-unknown-freebsd.tar.gz) = 43096464
+SHA256 (Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz) = 04fd23c8ef902f06d932948689350d4aeede68cc4e4367eb53a645f4412d20f2
+SIZE (Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz) = 1878725
+SHA256 (OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz) = 064e8b7d2b79aa17890f2267a009d2b607c4e6e50da24d9559cefa9c4c9910c9
+SIZE (OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz) = 3009334
+SHA256 (151ade91c9c8fcadd03fda2a9df961a173dae33d) = 9d87e5719f2ff59fca2b257eb534a11012bae74ed91e9ffba989f579fbf97413
+SIZE (151ade91c9c8fcadd03fda2a9df961a173dae33d) = 7543481
+SHA256 (JuliaDocs-Documenter.jl-v1.4.1_GH0.tar.gz) = b69c6bbd9152fb00e8ce509cdf5394b9b1e3a8d949866db6db181e0dd4a516cb
+SIZE (JuliaDocs-Documenter.jl-v1.4.1_GH0.tar.gz) = 1045123
+SHA256 (JuliaDocs-ANSIColoredPrinters.jl-v0.0.1_GH0.tar.gz) = 0cd49de4111b7e8c75a4af00231fe2549971994545289f9ba5a48cd57f3f6887
+SIZE (JuliaDocs-ANSIColoredPrinters.jl-v0.0.1_GH0.tar.gz) = 12301
+SHA256 (JuliaCollections-AbstractTrees.jl-6f9cd4ad60dc579f7a3271950d4846610c2f340d_GH0.tar.gz) = a08201fdde7acb1d97f74cf5152b11b8477d3584de6003a905c99a7aa672a48d
+SIZE (JuliaCollections-AbstractTrees.jl-6f9cd4ad60dc579f7a3271950d4846610c2f340d_GH0.tar.gz) = 27877
+SHA256 (JuliaIO-CodecZlib.jl-v0.7.4_GH0.tar.gz) = 6cc340e0c6d33eec112b257fd9d862dca990a79224b215b1e6e8c9e92bb51699
+SIZE (JuliaIO-CodecZlib.jl-v0.7.4_GH0.tar.gz) = 7358
+SHA256 (JuliaDocs-DocStringExtensions.jl-v0.9.3_GH0.tar.gz) = 9c712789b1cbd367bced9fafb995dee026f931ac68b55e476d1c666210564ae6
+SIZE (JuliaDocs-DocStringExtensions.jl-v0.9.3_GH0.tar.gz) = 27589
+SHA256 (JuliaDocs-DocumenterInventoryWritingBackport.jl-v0.1.0_GH0.tar.gz) = 365287440f263ce1915fbba6d2bceb4e8d146418648f347a33060c183878ca58
+SIZE (JuliaDocs-DocumenterInventoryWritingBackport.jl-v0.1.0_GH0.tar.gz) = 8558
+SHA256 (JuliaBinaryWrappers-Expat_jll.jl-Expat-v2.6.2+0_GH0.tar.gz) = 87ad4f16faaa3ba585c27c27fe6b1c6c4289c2957c376ef548a77a2c8d303f3c
+SIZE (JuliaBinaryWrappers-Expat_jll.jl-Expat-v2.6.2+0_GH0.tar.gz) = 4795
+SHA256 (JuliaVersionControl-Git.jl-v1.3.1_GH0.tar.gz) = 4737daaa370e0ea4839e01253666c790e3c611496737d417f99bef2c4ac65bef
+SIZE (JuliaVersionControl-Git.jl-v1.3.1_GH0.tar.gz) = 5174
+SHA256 (JuliaBinaryWrappers-Git_jll.jl-Git-v2.44.0+2_GH0.tar.gz) = 6d8d6d24178a32a195cbc8b7636ad34b1807b1555cf72c3235d3f50b9b741a4c
+SIZE (JuliaBinaryWrappers-Git_jll.jl-Git-v2.44.0+2_GH0.tar.gz) = 5077
+SHA256 (JuliaDocs-IOCapture.jl-v0.2.4_GH0.tar.gz) = 2136f57c26ad6a2ced30d378542fbe0e4d42aac34f5f38cc596066ccf15b94e9
+SIZE (JuliaDocs-IOCapture.jl-v0.2.4_GH0.tar.gz) = 9533
+SHA256 (JuliaPackaging-JLLWrappers.jl-v1.5.0_GH0.tar.gz) = 6e83b81afd0c57636e80bcf52ad51f6ba43d98643cac999727b958d9ab3d4a01
+SIZE (JuliaPackaging-JLLWrappers.jl-v1.5.0_GH0.tar.gz) = 11219
+SHA256 (JuliaIO-JSON.jl-v0.21.4_GH0.tar.gz) = c6b620ad4150ec5a154367f50c9579af800e3a89a6d8f9cb5dd30215a5d3f552
+SIZE (JuliaIO-JSON.jl-v0.21.4_GH0.tar.gz) = 35772
+SHA256 (KristofferC-LazilyInitializedFields.jl-3b6cc53c8780ebbe3ee209b8a8e6b8844ce284f2_GH0.tar.gz) = 1378d59c2142be81d76ee0cd83d99671f4c49c4763cd23c3a2f78ad7a4474db5
+SIZE (KristofferC-LazilyInitializedFields.jl-3b6cc53c8780ebbe3ee209b8a8e6b8844ce284f2_GH0.tar.gz) = 1364247
+SHA256 (JuliaBinaryWrappers-Libiconv_jll.jl-Libiconv-v1.17.0+0_GH0.tar.gz) = 2b18b48adbbd8fa2e31c146837654a752c521cedf8eaf7ba641cb8a79ffc2b6c
+SIZE (JuliaBinaryWrappers-Libiconv_jll.jl-Libiconv-v1.17.0+0_GH0.tar.gz) = 4815
+SHA256 (JuliaDocs-MarkdownAST.jl-v0.1.2_GH0.tar.gz) = 21b7e695acfbfe25863a856f2e6a1d965bc3cb2f52f998d9cb4c375e1aea6f99
+SIZE (JuliaDocs-MarkdownAST.jl-v0.1.2_GH0.tar.gz) = 36357
+SHA256 (JuliaBinaryWrappers-OpenSSL_jll.jl-OpenSSL-v3.0.13+1_GH0.tar.gz) = 3d0f2b9995bb0c48186010eed3add1ba8698c405a8836c2185d1c440d1611ae1
+SIZE (JuliaBinaryWrappers-OpenSSL_jll.jl-OpenSSL-v3.0.13+1_GH0.tar.gz) = 4880
+SHA256 (JuliaData-Parsers.jl-v2.8.1_GH0.tar.gz) = 6ea035be48ef5daaecdff62ac8f29c6110aaf20f3349058a4f96e2503f55b693
+SIZE (JuliaData-Parsers.jl-v2.8.1_GH0.tar.gz) = 65487
+SHA256 (JuliaLang-PrecompileTools.jl-v1.2.1_GH0.tar.gz) = af58b384e08b488b2da5ad19e72817b8b0ddb026997f8cf85f2964cc2c26cd34
+SIZE (JuliaLang-PrecompileTools.jl-v1.2.1_GH0.tar.gz) = 20434
+SHA256 (JuliaPackaging-Preferences.jl-v1.4.3_GH0.tar.gz) = 02b995891818b91266f98bcb46eefc513dfb66b177b5a6a0d1cff97be3e4582d
+SIZE (JuliaPackaging-Preferences.jl-v1.4.3_GH0.tar.gz) = 17524
+SHA256 (GunnarFarneback-RegistryInstances.jl-2796d959014475bc19e2dfa174179cdf02642d28_GH0.tar.gz) = 756dd92a0466018cd6dae1deee2161b10416ebfe59053bd41f1f1ab006ac8ef3
+SIZE (GunnarFarneback-RegistryInstances.jl-2796d959014475bc19e2dfa174179cdf02642d28_GH0.tar.gz) = 7221
+SHA256 (JuliaIO-TranscodingStreams.jl-v0.10.8_GH0.tar.gz) = 0d2249702d7e3cf2f0d8235694f7b8c42d73b5f861725522c6e7b9e5a6dc8f7b
+SIZE (JuliaIO-TranscodingStreams.jl-v0.10.8_GH0.tar.gz) = 115156
diff --git a/lang/julia/files/General.toml.in b/lang/julia/files/General.toml.in
new file mode 100644
index 000000000000..8b26cbb20aa5
--- /dev/null
+++ b/lang/julia/files/General.toml.in
@@ -0,0 +1,3 @@
+git-tree-sha1 = "%%SHA1%%"
+uuid = "%%UUID%%"
+path = "General.tar.gz"
diff --git a/lang/julia/files/llvm-patch-backport-version-fixes b/lang/julia/files/llvm-patch-backport-version-fixes
index 6964bfd7e54d..3512939ccd4c 100644
--- a/lang/julia/files/llvm-patch-backport-version-fixes
+++ b/lang/julia/files/llvm-patch-backport-version-fixes
@@ -140,17 +140,21 @@ index 000000000000..0c2a3c38c78c
 @@ -0,0 +1 @@
 +LLVMRemarkVersion
 diff --git openmp/libomptarget/plugins/exports openmp/libomptarget/plugins/exports
-index 8664a2e493ee..cc7beda183af 100644
+index 84381af3724d..cc7beda183af 100644
 --- openmp/libomptarget/plugins/exports
 +++ openmp/libomptarget/plugins/exports
-@@ -1,36 +1,6 @@
+@@ -1,40 +1,6 @@
  VERS1.0 {
    global:
+-    __tgt_rtl_init_plugin;
+-    __tgt_rtl_deinit_plugin;
 -    __tgt_rtl_is_valid_binary;
+-    __tgt_rtl_is_valid_binary_info;
 -    __tgt_rtl_is_data_exchangable;
 -    __tgt_rtl_number_of_devices;
 -    __tgt_rtl_init_requires;
 -    __tgt_rtl_init_device;
+-    __tgt_rtl_deinit_device;
 -    __tgt_rtl_load_binary;
 -    __tgt_rtl_data_alloc;
 -    __tgt_rtl_data_submit;
@@ -182,10 +186,10 @@ index 8664a2e493ee..cc7beda183af 100644
      *;
  };
 diff --git openmp/libomptarget/src/exports openmp/libomptarget/src/exports
-index 0ef4c8cce521..425a6fad49cf 100644
+index 35a665a98c27..cedefc996a29 100644
 --- openmp/libomptarget/src/exports
 +++ openmp/libomptarget/src/exports
-@@ -48,7 +48,6 @@ VERS1.0 {
+@@ -51,7 +51,6 @@ VERS1.0 {
      omp_get_interop_int;
      omp_get_interop_name;
      omp_get_interop_type_desc;
@@ -194,7 +198,7 @@ index 0ef4c8cce521..425a6fad49cf 100644
      __tgt_interop_use;
      __tgt_interop_destroy;
 diff --git openmp/runtime/cmake/LibompHandleFlags.cmake openmp/runtime/cmake/LibompHandleFlags.cmake
-index 9e19e59ba17d..1ddbc870e0f1 100644
+index 6643ea392f80..fb1825df71d6 100644
 --- openmp/runtime/cmake/LibompHandleFlags.cmake
 +++ openmp/runtime/cmake/LibompHandleFlags.cmake
 @@ -98,7 +98,6 @@ function(libomp_get_ldflags ldflags)
@@ -206,7 +210,7 @@ index 9e19e59ba17d..1ddbc870e0f1 100644
    libomp_append(ldflags_local "-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
    libomp_append(ldflags_local -static-libgcc LIBOMP_HAVE_STATIC_LIBGCC_FLAG)
 diff --git openmp/runtime/cmake/config-ix.cmake openmp/runtime/cmake/config-ix.cmake
-index 0fe1266b0067..d3806a446743 100644
+index bd7585545b72..f8d52f3c3e43 100644
 --- openmp/runtime/cmake/config-ix.cmake
 +++ openmp/runtime/cmake/config-ix.cmake
 @@ -131,9 +131,8 @@ if(WIN32)
@@ -302,10 +306,10 @@ index 000000000000..912d160e7c06
 +
 +# end of file #
 diff --git openmp/runtime/src/kmp_runtime.cpp openmp/runtime/src/kmp_runtime.cpp
-index e1af2f43dae7..3db713e8c88b 100644
+index b8d470528798..6edbe6d2d74e 100644
 --- openmp/runtime/src/kmp_runtime.cpp
 +++ openmp/runtime/src/kmp_runtime.cpp
-@@ -9156,3 +9156,20 @@ void __kmp_set_nesting_mode_threads() {
+@@ -9181,3 +9181,20 @@ void __kmp_set_nesting_mode_threads() {
    if (__kmp_nesting_mode == 1) // turn on nesting for this case only
      set__max_active_levels(thread, __kmp_nesting_mode_nlevels);
  }
@@ -348,7 +352,7 @@ index 48d31e5ee7b7..5937f8026e39 100644
 +}
 +#endif
 diff --git openmp/runtime/src/z_Linux_util.cpp openmp/runtime/src/z_Linux_util.cpp
-index 5cd6ad6a0339..f6cad7b5320a 100644
+index 91edf0254a77..0669b208ce62 100644
 --- openmp/runtime/src/z_Linux_util.cpp
 +++ openmp/runtime/src/z_Linux_util.cpp
 @@ -987,7 +987,7 @@ void __kmp_exit_thread(int exit_status) {
diff --git a/lang/julia/files/patch-Make.inc b/lang/julia/files/patch-Make.inc
index d9c0231de3e5..82fc8f2ada30 100644
--- a/lang/julia/files/patch-Make.inc
+++ b/lang/julia/files/patch-Make.inc
@@ -1,6 +1,6 @@
---- Make.inc.orig	2023-11-14 16:57:00 UTC
+--- Make.inc.orig	2024-04-30 17:45:14 UTC
 +++ Make.inc
-@@ -268,7 +268,7 @@ docdir := $(datarootdir)/doc/julia
+@@ -260,7 +260,7 @@ docdir := $(datarootdir)/doc/julia
  libexecdir := $(prefix)/libexec
  datarootdir := $(prefix)/share
  docdir := $(datarootdir)/doc/julia
@@ -9,147 +9,22 @@
  man1dir := $(mandir)/man1
  includedir := $(prefix)/include
  sysconfdir := $(prefix)/etc
-@@ -286,7 +286,7 @@ build_datarootdir := $(build_prefix)/share
- build_libdir := $(build_prefix)/lib
- build_libexecdir := $(build_prefix)/libexec
- build_datarootdir := $(build_prefix)/share
--build_mandir := $(build_datarootdir)/man
-+build_mandir := $(build_prefix)/man
- build_man1dir := $(build_mandir)/man1
- build_includedir := $(build_prefix)/include
- build_sysconfdir := $(build_prefix)/etc
-@@ -654,33 +654,6 @@ endif
- include $(BUILDROOT)/$(MAKE_USER_FNAME)
+@@ -1339,7 +1339,7 @@ ifeq ($(OS), FreeBSD)
  endif
  
--# A bit of a kludge to work around libraries linking to FreeBSD's outdated system libgcc_s
--# Instead, let's link to the libgcc_s corresponding to the installation of gfortran
--ifeq ($(OS),FreeBSD)
--ifneq (,$(findstring gfortran,$(FC)))
--
--# First let's figure out what version of GCC we're dealing with
--_GCCMAJOR := $(shell $(FC) -dumpversion 2>/dev/null | cut -d'.' -f1)
--_GCCMINOR := $(shell $(FC) -dumpversion 2>/dev/null | cut -d'.' -f2)
--
--# The ports system uses major and minor for GCC < 5 (e.g. gcc49 for GCC 4.9), otherwise major only
--ifeq ($(_GCCMAJOR),4)
--  _GCCVER := $(_GCCMAJOR)$(_GCCMINOR)
--else
--  _GCCVER := $(_GCCMAJOR)
--endif
--
--# Allow the user to specify this in Make.user
--GCCPATH ?= $(LOCALBASE)/lib/gcc$(_GCCVER)
--
--# We're going to copy over the libraries we need from GCCPATH into build_libdir, then
--# tell everyone to look for them there. At install time, the build_libdir added into
--# the RPATH here is removed by patchelf.
--LDFLAGS += -L$(build_libdir) -Wl,-rpath,$(build_libdir)
--
--endif # gfortran
--endif # FreeBSD
--
- 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
-@@ -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
--OSLIBS += -lelf -lkvm -lrt -lpthread -latomic
-+OSLIBS += -lelf -lkvm -lrt -lpthread
+-JLDFLAGS += -Wl,-Bdynamic
++JLDFLAGS += -Wl,-Bdynamic -Wl,-L$(GCCPATH)
+ OSLIBS += -lelf -lkvm -lrt -lpthread -latomic
+ 
+ # Tweak order of libgcc_s in DT_NEEDED,
+@@ -1348,8 +1348,7 @@ OSLIBS += -lgcc_s
+ # See #21788
+ OSLIBS += -lgcc_s
  
--# Tweak order of libgcc_s in DT_NEEDED,
--# make it loaded first to
--# prevent from linking to outdated system libs.
--# See #21788
--OSLIBS += -lgcc_s
--
--OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(BUILDROOT)/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
  
  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))
- 
--ifeq ($(OS),WINNT)
--ifeq ($(BINARY),32)
--LIBGCC_NAME := libgcc_s_sjlj-1.$(SHLIB_EXT)
--else
--LIBGCC_NAME := libgcc_s_seh-1.$(SHLIB_EXT)
--endif
--endif
--# On macOS, libgcc_s has soversion 1.1 always on aarch64 and only for GCC 12+
--# (-> libgfortran 5) on x86_64
--ifeq ($(OS),Darwin)
--ifeq ($(ARCH),aarch64)
--LIBGCC_NAME := libgcc_s.1.1.$(SHLIB_EXT)
--else
--ifeq ($(LIBGFORTRAN_VERSION),5)
--LIBGCC_NAME := libgcc_s.1.1.$(SHLIB_EXT)
--else
--LIBGCC_NAME := libgcc_s.1.$(SHLIB_EXT)
--endif
--endif
--endif
--ifneq ($(findstring $(OS),Linux FreeBSD),)
--LIBGCC_NAME := libgcc_s.$(SHLIB_EXT).1
--endif
--
- # 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 +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:
--#  * libgcc_s, because FreeBSD needs to load ours, not the system one.
- #  * 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 +1533,6 @@ LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \
- endef
- 
- LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \
--    $(LIBGCC_BUILD_DEPLIB) \
-     $(LIBM_BUILD_DEPLIB) \
-     @$(LIBSTDCXX_BUILD_DEPLIB) \
-     @$(LIBJULIAINTERNAL_BUILD_DEPLIB) \
-@@ -1597,7 +1540,6 @@ LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \
- )
- 
- LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \
--   $(LIBGCC_BUILD_DEPLIB) \
-    $(LIBM_BUILD_DEPLIB) \
-    @$(LIBSTDCXX_BUILD_DEPLIB) \
-    @$(LIBJULIAINTERNAL_DEBUG_BUILD_DEPLIB) \
-@@ -1605,14 +1547,12 @@ LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \
- )
- 
- LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \
--    $(LIBGCC_INSTALL_DEPLIB) \
-     $(LIBM_INSTALL_DEPLIB) \
-     @$(LIBSTDCXX_INSTALL_DEPLIB) \
-     @$(LIBJULIAINTERNAL_INSTALL_DEPLIB) \
-     @$(LIBJULIACODEGEN_INSTALL_DEPLIB) \
- )
- LOADER_DEBUG_INSTALL_DEP_LIBS = $(call build_deplibs, \
--    $(LIBGCC_INSTALL_DEPLIB) \
-     $(LIBM_INSTALL_DEPLIB) \
-     @$(LIBSTDCXX_INSTALL_DEPLIB) \
-     @$(LIBJULIAINTERNAL_DEBUG_INSTALL_DEPLIB) \
diff --git a/lang/julia/files/patch-Makefile b/lang/julia/files/patch-Makefile
index f3091dff5517..0a26e5e5db71 100644
--- a/lang/julia/files/patch-Makefile
+++ b/lang/julia/files/patch-Makefile
@@ -1,23 +1,18 @@
---- Makefile.orig	2023-08-24 16:20:21 UTC
+--- Makefile.orig	2024-04-30 17:45:14 UTC
 +++ Makefile
-@@ -210,7 +210,6 @@ endif
- JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME)
- endif
- 
--JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libgfortran libquadmath libstdc++ libgcc_s libgomp libssp libatomic
- ifeq ($(OS),Darwin)
- JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libc++
- endif
-@@ -236,7 +235,7 @@ endef
+@@ -265,9 +265,9 @@ endef
  endef
  
  
--install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
+-install: $(build_depsbindir)/stringreplace docs
 +install: $(build_depsbindir)/stringreplace
  	@$(MAKE) $(QUIET_MAKE) $(JULIA_BUILD_MODE)
- 	@for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(private_libexecdir); do \
+-	@for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(private_libexecdir); do \
++	@for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(private_libexecdir); do \
  		mkdir -p $(DESTDIR)$$subdir; \
-@@ -339,8 +338,6 @@ endif
+ 	done
+ 
+@@ -366,8 +366,6 @@ endif
  	cp -R -L $(JULIAHOME)/base/* $(DESTDIR)$(datarootdir)/julia/base
  	cp -R -L $(JULIAHOME)/test/* $(DESTDIR)$(datarootdir)/julia/test
  	cp -R -L $(build_datarootdir)/julia/* $(DESTDIR)$(datarootdir)/julia
@@ -26,46 +21,26 @@
  	# Remove various files which should not be installed
  	-rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh
  	-rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile
-@@ -350,12 +347,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 .desktop file
--	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))
-@@ -430,26 +421,16 @@ endif
- endif
- endif
- 
--ifeq ($(OS),FreeBSD)
--	# On FreeBSD, remove the build's libdir from each library's RPATH
--	$(JULIAHOME)/contrib/fixup-rpath.sh "$(PATCHELF)" $(DESTDIR)$(libdir) $(build_libdir)
--	$(JULIAHOME)/contrib/fixup-rpath.sh "$(PATCHELF)" $(DESTDIR)$(private_libdir) $(build_libdir)
--	$(JULIAHOME)/contrib/fixup-rpath.sh "$(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.
+@@ -462,9 +460,9 @@ ifeq ($(OS),FreeBSD)
+ 	# 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 \
 -		$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $$lib; \
 -	done
--endif
--
- 	mkdir -p $(DESTDIR)$(sysconfdir)
- 	cp -R $(build_sysconfdir)/julia $(DESTDIR)$(sysconfdir)/
++	#for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \
++	#	$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $$lib; \
++	#done
+ endif
  
+ 	mkdir -p $(DESTDIR)$(sysconfdir)
+@@ -473,6 +471,10 @@ endif
  ifeq ($(DARWIN_FRAMEWORK),1)
  	$(MAKE) -C $(JULIAHOME)/contrib/mac/framework frameworknoinstall
  endif
 +
-+install-docs:
-+	#Copy documentation
++install-docs: docs
++	# Copy documentation
 +	cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/
  
  distclean:
diff --git a/lang/julia/files/patch-base_Makefile b/lang/julia/files/patch-base_Makefile
deleted file mode 100644
index 99a5ca8d82bc..000000000000
--- a/lang/julia/files/patch-base_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/Makefile.orig	2023-08-24 16:20:21 UTC
-+++ base/Makefile
-@@ -242,9 +242,6 @@ $(eval $(call symlink_system_library,CSL,libstdc++,6))
- $(eval $(call symlink_system_library,CSL,libquadmath,0))
- $(eval $(call symlink_system_library,CSL,libstdc++,6))
- # We allow libssp, libatomic and libgomp to fail as they are not available on all systems
--$(eval $(call symlink_system_library,CSL,libssp,0,ALLOW_FAILURE))
--$(eval $(call symlink_system_library,CSL,libatomic,1,ALLOW_FAILURE))
--$(eval $(call symlink_system_library,CSL,libgomp,1,ALLOW_FAILURE))
- $(eval $(call symlink_system_library,PCRE,libpcre2-8))
- $(eval $(call symlink_system_library,DSFMT,libdSFMT))
- $(eval $(call symlink_system_library,LIBBLASTRAMPOLINE,libblastrampoline))
diff --git a/lang/julia/files/patch-deps_llvm.mk b/lang/julia/files/patch-deps_llvm.mk
index e1e097d3cb1f..6d0d01e56821 100644
--- a/lang/julia/files/patch-deps_llvm.mk
+++ b/lang/julia/files/patch-deps_llvm.mk
@@ -1,45 +1,21 @@
---- deps/llvm.mk.orig	2023-12-03 21:24:39 UTC
+--- deps/llvm.mk.orig	2024-04-30 17:45:14 UTC
 +++ deps/llvm.mk
-@@ -60,7 +60,10 @@ endif
- LLVM_ENABLE_PROJECTS := $(LLVM_ENABLE_PROJECTS);lld
- endif
- 
-+LLVM_BUILD_BENCHMARKS?=1
-+LLVM_INCLUDE_BENCHMARKS?=1
- 
-+
- LLVM_LIB_FILE := libLLVMCodeGen.a
- 
- # Figure out which targets to build
-@@ -76,6 +79,8 @@ LLVM_CMAKE += -DLLVM_ENABLE_RUNTIMES="$(LLVM_ENABLE_RU
- LLVM_CMAKE += -DLLVM_ENABLE_PROJECTS="$(LLVM_ENABLE_PROJECTS)"
- LLVM_CMAKE += -DLLVM_EXTERNAL_PROJECTS="$(LLVM_EXTERNAL_PROJECTS)"
- LLVM_CMAKE += -DLLVM_ENABLE_RUNTIMES="$(LLVM_ENABLE_RUNTIMES)"
-+LLVM_CMAKE += -DLLVM_ENABLE_BENCHMARKS="$(LLVM_ENABLE_BENCHMARKS)"
-+LLVM_CMAKE += -DLLVM_INCLUDE_BENCHMARKS="$(LLVM_INCLUDE_BENCHMARKS)"
- 
- ifeq ($(USE_RV),1)
- LLVM_CMAKE += -DLLVM_EXTERNAL_RV_SOURCE_DIR=$(LLVM_MONOSRC_DIR)/rv
-@@ -90,6 +95,9 @@ LLVM_LDFLAGS += $(LDFLAGS)
- LLVM_CXXFLAGS += $(CXXFLAGS)
- LLVM_CPPFLAGS += $(CPPFLAGS)
- LLVM_LDFLAGS += $(LDFLAGS)
-+LLVM_CFLAGS += -I$(SRCCACHE)/$(LLVM_SRC_DIR)/third-party/benchmark/include
-+LLVM_LDFLAGS += -L$(LLVM_BUILDDIR_withtype)/lib
-+LLVM_CPPFLAGS += -I$(SRCCACHE)/$(LLVM_SRC_DIR)/third-party/benchmark/include
- LLVM_CMAKE += -DLLVM_TARGETS_TO_BUILD:STRING="$(LLVM_TARGETS)" -DCMAKE_BUILD_TYPE="$(LLVM_CMAKE_BUILDTYPE)"
- LLVM_CMAKE += -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING="$(LLVM_EXPERIMENTAL_TARGETS)"
- LLVM_CMAKE += -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_HOST_TRIPLE="$(or $(XC_HOST),$(BUILD_MACHINE))"
-@@ -231,6 +239,12 @@ $(eval $(call LLVM_PATCH,llvm-ittapi-cmake))
+@@ -214,7 +214,7 @@ $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied: $$(SRC
+ LLVM_PATCH_PREV :=
+ define LLVM_PATCH
+ $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied: $$(SRCCACHE)/$$(LLVM_SRC_DIR)/source-extracted | $$(SRCDIR)/patches/$1.patch $$(LLVM_PATCH_PREV)
+-	cd $$(SRCCACHE)/$$(LLVM_SRC_DIR)/llvm && patch -p1 -f < $$(SRCDIR)/patches/$1.patch
++	cd $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$2 && patch -p$3 -f < $$(SRCDIR)/patches/$1.patch
+ 	echo 1 > $$@
+ # declare that applying any patch must re-run the compile step
+ $$(LLVM_BUILDDIR_withtype)/build-compiled: $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied
+@@ -230,7 +230,8 @@ endef
+ LLVM_PATCH_PREV := $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied
  endef
  
- $(eval $(call LLVM_PATCH,llvm-ittapi-cmake))
-+
-+$(SRCCACHE)/$(LLVM_SRC_DIR)/verfix.patch-applied: $(SRCCACHE)/$(LLVM_SRC_DIR)/source-extracted $(LLVM_PATCH_VERSIONFIXES)
-+	cd $(SRCCACHE)/$(LLVM_SRC_DIR) && patch < $(LLVM_PATCH_VERSIONFIXES)
-+	echo 1 > $@
-+
-+$(LLVM_BUILDDIR_withtype)/build-configured: | $(SRCCACHE)/$(LLVM_SRC_DIR)/verfix.patch-applied
+-$(eval $(call LLVM_PATCH,llvm-ittapi-cmake))
++$(eval $(call LLVM_PATCH,llvm-ittapi-cmake,llvm,1))
++$(eval $(call LLVM_PATCH,llvm-version-fixes,.,0))
  
  ifeq ($(USE_SYSTEM_ZLIB), 0)
  $(LLVM_BUILDDIR_withtype)/build-configured: | $(build_prefix)/manifest/zlib
diff --git a/lang/julia/files/patch-deps_zlib.mk b/lang/julia/files/patch-deps_zlib.mk
new file mode 100644
index 000000000000..501a16f09e70
--- /dev/null
+++ b/lang/julia/files/patch-deps_zlib.mk
@@ -0,0 +1,10 @@
+--- deps/zlib.mk.orig	2023-01-18 16:25:14 UTC
++++ deps/zlib.mk
+@@ -9,6 +9,7 @@ $(BUILDDIR)/$(ZLIB_SRC_DIR)/build-configured: $(SRCCAC
+ ZLIB_BUILD_OPTS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ 
+ $(BUILDDIR)/$(ZLIB_SRC_DIR)/build-configured: $(SRCCACHE)/$(ZLIB_SRC_DIR)/source-extracted
++	sed -i bak -e '/gz_intmax;/d' $(SRCCACHE)/$(ZLIB_SRC_DIR)/zlib.map
+ 	mkdir -p $(dir $@)
+ 	cd $(dir $@) && $(CMAKE) $(ZLIB_BUILD_OPTS) $(dir $<)
+ 	echo 1 > $@
diff --git a/lang/julia/files/patch-doc_make.jl b/lang/julia/files/patch-doc_make.jl
new file mode 100644
index 000000000000..fb929ff1674b
--- /dev/null
+++ b/lang/julia/files/patch-doc_make.jl
@@ -0,0 +1,62 @@
+--- doc/make.jl.orig	2024-04-30 17:45:14.000000000 +0000
++++ doc/make.jl	2024-05-10 03:22:43.203136000 +0000
+@@ -5,7 +5,30 @@
+ empty!(DEPOT_PATH)
+ pushfirst!(DEPOT_PATH, joinpath(@__DIR__, "deps"))
+ using Pkg
+-Pkg.instantiate()
++# Pkg.instantiate()
++Pkg.develop([
++    PackageSpec(path="deps/packages/LazilyInitializedFields"),
++    PackageSpec(path="deps/packages/RegistryInstances"),
++    PackageSpec(path="deps/packages/AbstractTrees"),
++    PackageSpec(path="deps/packages/Documenter"),
++    PackageSpec(path="deps/packages/TranscodingStreams"),
++    PackageSpec(path="deps/packages/CodecZlib"),
++    PackageSpec(path="deps/packages/DocumenterInventoryWritingBackport"),
++    PackageSpec(path="deps/packages/Preferences"),
++    PackageSpec(path="deps/packages/JLLWrappers"),
++    PackageSpec(path="deps/packages/OpenSSL_jll"),
++    PackageSpec(path="deps/packages/Libiconv_jll"),
++    PackageSpec(path="deps/packages/Git_jll"),
++    PackageSpec(path="deps/packages/Git"),
++    PackageSpec(path="deps/packages/Expat_jll"),
++    PackageSpec(path="deps/packages/ANSIColoredPrinters"),
++    PackageSpec(path="deps/packages/PrecompileTools"),
++    PackageSpec(path="deps/packages/Parsers"),
++    PackageSpec(path="deps/packages/MarkdownAST"),
++    PackageSpec(path="deps/packages/JSON"),
++    PackageSpec(path="deps/packages/IOCapture"),
++    PackageSpec(path="deps/packages/DocStringExtensions")
++])
+ 
+ using Documenter
+ using DocumenterInventoryWritingBackport
+@@ -288,6 +311,13 @@
+         collapselevel = 1,
+         sidebar_sitename = false,
+         ansicolor = true,
++        size_threshold_ignore = [
++            "base/arrays.md",
++            "base/base.md",
++            "base/collections.md",
++            "manual/unicode-input.md",
++            "stdlib/LinearAlgebra.md",
++        ],
+     )
+ end
+ 
+@@ -299,12 +329,12 @@
+     doctest   = ("doctest=fix" in ARGS) ? (:fix) : ("doctest=only" in ARGS) ? (:only) : ("doctest=true" in ARGS) ? true : false,
+     linkcheck = "linkcheck=true" in ARGS,
+     linkcheck_ignore = ["https://bugs.kde.org/show_bug.cgi?id=136779"], # fails to load from nanosoldier?
+-    strict    = true,
+     checkdocs = :none,
+     format    = format,
+     sitename  = "The Julia Language",
+     authors   = "The Julia Project",
+     pages     = PAGES,
++    remotes   = nothing,
+ )
+ 
+ # Update URLs to external stdlibs (JuliaLang/julia#43199)
diff --git a/lang/julia/files/patch-doc_src_manual_unicode-input.md b/lang/julia/files/patch-doc_src_manual_unicode-input.md
new file mode 100644
index 000000000000..5a73e43e69f9
--- /dev/null
+++ b/lang/julia/files/patch-doc_src_manual_unicode-input.md
@@ -0,0 +1,11 @@
+--- doc/src/manual/unicode-input.md.orig	2024-05-10 00:16:25 UTC
++++ doc/src/manual/unicode-input.md
+@@ -70,7 +70,7 @@ function table_entries(completions, unicode_dict)
+             join(inputs, ", "), join(unicode_names, " + ")
+         ])
+     end
+-    return Markdown.Table(entries, [:l, :l, :l, :l])
++    return Markdown.MD(entries, [:l, :l, :l, :l])
+ end
+ 
+ table_entries(
diff --git a/lang/julia/files/patch-src_Makefile b/lang/julia/files/patch-src_Makefile
index 6ab152ba0277..728d1f542e70 100644
--- a/lang/julia/files/patch-src_Makefile
+++ b/lang/julia/files/patch-src_Makefile
@@ -1,12 +1,49 @@
---- src/Makefile.orig	2023-11-14 16:57:00 UTC
+--- src/Makefile.orig	2024-04-30 17:45:14 UTC
 +++ src/Makefile
-@@ -363,15 +363,40 @@ CXXLD = $(CXX) -shared
+@@ -128,7 +128,8 @@ ifneq ($(USE_LLVM_SHLIB),1)
+ # USE_SYSTEM_LLVM == 0
+ ifneq ($(USE_LLVM_SHLIB),1)
+ # USE_LLVM_SHLIB != 1
+-CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-static) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null)
++# CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-static) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null)
++CG_LLVMLINK += $(LLVM_LDFLAGS) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs 2> /dev/null)
+ else
+ # USE_LLVM_SHLIB == 1
+ ifeq ($(OS), Darwin)
+@@ -144,7 +145,8 @@ endif # JULIACODEGEN == LLVM
+ endif # USE_LLVM_SHLIB == 1
+ endif # JULIACODEGEN == LLVM
+ 
+-RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-static)
++# RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-static)
++RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs --system-libs)
+ RT_LLVMLINK += $(LLVM_LDFLAGS) $(RT_LLVM_LINK_ARGS)
+ ifeq ($(OS), WINNT)
+ RT_LLVMLINK += -luuid -lole32
+@@ -347,10 +349,10 @@ $(FLISP_EXECUTABLE_debug): $(BUILDDIR)/flisp/libflisp-
+ $(FLISP_EXECUTABLE_debug): $(BUILDDIR)/flisp/libflisp-debug.a
+ 	$(MAKE) -C $(BUILDDIR)/flisp $(subst $(abspath $(BUILDDIR)/flisp)/,,$(abspath $(FLISP_EXECUTABLE_debug)))
+ 
+-$(BUILDDIR)/flisp/libflisp.a: $(addprefix $(SRCDIR)/flisp/,*.h *.c) $(BUILDDIR)/support/libsupport.a $(BUILDDIR)/julia.expmap
++$(BUILDDIR)/flisp/libflisp.a: $(addprefix $(SRCDIR)/flisp/,*.h *.c) $(BUILDDIR)/support/libsupport.a $(BUILDDIR)/juliaflisp.expmap
+ 	$(MAKE) -C $(SRCDIR)/flisp BUILDDIR='$(abspath $(BUILDDIR)/flisp)'
+ 
+-$(BUILDDIR)/flisp/libflisp-debug.a: $(addprefix $(SRCDIR)/,flisp/*.h flisp/*.c) $(BUILDDIR)/support/libsupport-debug.a $(BUILDDIR)/julia.expmap
++$(BUILDDIR)/flisp/libflisp-debug.a: $(addprefix $(SRCDIR)/,flisp/*.h flisp/*.c) $(BUILDDIR)/support/libsupport-debug.a $(BUILDDIR)/juliaflisp.expmap
+ 	$(MAKE) -C $(SRCDIR)/flisp debug BUILDDIR='$(abspath $(BUILDDIR)/flisp)'
+ 
+ $(BUILDDIR)/julia_version.h: $(JULIAHOME)/VERSION
+@@ -368,17 +370,50 @@ CXXLD = $(CXX) -shared
  
  CXXLD = $(CXX) -shared
  
--$(build_shlibdir)/libjulia-internal.$(JL_MAJOR_MINOR_SHLIB_EXT): $(SRCDIR)/julia.expmap $(OBJS) $(BUILDDIR)/flisp/libflisp.a $(BUILDDIR)/support/libsupport.a $(LIBUV)
-+$(BUILDDIR)/julialib.expmap $(BUILDDIR)/juliacg.expmap: $(SRCDIR)/julia.expmap
+-$(BUILDDIR)/julia.expmap: $(SRCDIR)/julia.expmap.in
+-	sed <'$<' >'$@' -e "s/@JULIA_SHLIB_SYMBOL_VERSION@/JL_LIBJULIA_$(SOMAJOR)/" \
+-		        -e "s/@LLVM_SHLIB_SYMBOL_VERSION@/$(LLVM_SHLIB_SYMBOL_VERSION)/"
++$(BUILDDIR)/julialib.expmap $(BUILDDIR)/juliacg.expmap $(BUILDDIR)/juliaflisp.expmap: $(SRCDIR)/julia.expmap.in
 +	sed <'$<' >$(BUILDDIR)/julialib.expmap \
++		-e "s/@JULIA_SHLIB_SYMBOL_VERSION@/JL_LIBJULIA_$(SOMAJOR)/" \
++	        -e "s/@LLVM_SHLIB_SYMBOL_VERSION@/$(LLVM_SHLIB_SYMBOL_VERSION)/" \
 +		-e "/environ;/d" -e "/__progname;/d" \
*** 2546 LINES SKIPPED ***