commit:     5fc1fe4a54efa286c76ae8d966e0ba989138b1f0
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 27 11:54:57 2021 +0000
Commit:     罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Mon Apr  5 09:05:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fc1fe4a

dev-lang/julia: Bump to 1.6.0

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 dev-lang/julia/Manifest                            |   6 +
 .../julia/files/julia-1.6.0-fix_build_system.patch |  53 +++++
 dev-lang/julia/julia-1.6.0.ebuild                  | 216 +++++++++++++++++++++
 3 files changed, 275 insertions(+)

diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 1bce6f6baf5..2fafe21372a 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -1,10 +1,16 @@
 DIST julia-1.5.2.tar.gz 6945862 BLAKE2B 
9dd9f83fb9ae251f66ae65e14a252b662c3c7d6f92638d91ef6e286032020052e1812f2891270854e0ddeda474afff55c8f87d300550503c1093f4c5e0a51959
 SHA512 
aa177d03bbde4f368dd2fb14f64d21130531616bcd544af7babbb7fb7c9ee5ea7528c756e10f78468aaffebbcbc6f48e92397c1c13dc3f130b64a82e478f43dc
 DIST julia-1.5.3.tar.gz 6949901 BLAKE2B 
08f8496980a9bbb9effc0c72cb6b7a5ce1dbd1774735caa366ddc1bb5404117111c624a639f6eb48360061f9fc597a7b37dff24f8555f03ebc4a22524cbeb3b8
 SHA512 
9e644a64fd6e2caf0390a2bc470084406c078244e65b70a2e3b031d5806c1dff780273ccccfe4bccfd8c03778b7d3a44de7a84bd13f3512afe6864efa5a730fc
+DIST julia-1.6.0.tar.gz 7711314 BLAKE2B 
135862347a7f3a954acb8d8e17350fbdda84b4813d8498b862e107836a0d29d6e70a26c39c0c29655e6348a5a3afd5b4d7e9824cb88c9e8d31c4515468f46d5b
 SHA512 
41dea60c08882a8f8f9024eb2285c30dbbc68e2256ed6afd5bf956a1828239128b2f39b4ce733a438eafe3b2324ff06dec5c1eb7c9b0f838b2daa972f587d909
+DIST julia-Pkg-05fa7f93f73afdabd251247d03144de9f7b36b50.tar.gz 388550 BLAKE2B 
ec248dbd06a25014905b55cbd6ca55ef245d09b15d4a9b78ec98fd6fe59b318047914698ece8ef85b6a161f115a227ee5346c5f1698bcb74174bca77dbde9968
 SHA512 
8f1660e55bd8730ab816109fe802edd14c2ab46aed0db7f04e520b371a9f7296c3ab85d42af64174b0989fa55bb089b1450dcee28e67dbb996471235dbba35c1
 DIST julia-Pkg-49908bffe83790bc7cf3c5d46faf3667f8902ad4.tar.gz 389738 BLAKE2B 
1ed9201badf0a1db5142e0566bfe085b364e4681670937ac5fa53c15312ff8eb29d5e783b75fe3f4f379b041ba38c66ce94962fa7d98fcfd0b7b49acd1749d69
 SHA512 
a85aa80b3080794a8e3ae5ce54856e63457c461659c12fde5dde1b5ec33176ea06af49ee516d01ccd7b78d8358de2fe0ffcd5c6a6d5a5088cdcd76a0133780eb
 DIST julia-UnicodeData-13.0.0.txt 1851767 BLAKE2B 
72bbcf352f2f6a004abb3f351fe5da160e83644feea8de0ca154b5a1aa78f36cb04b252d0c7b64a5eeca388e600b2875bb76bc2746ee799a1a6eff97c1fe8b06
 SHA512 
1a4a662e2ab33469976bf5f91aa6933ed9b73f6d4179a2daffb349e1869d7d6cfa885b164e82d15dcdad7458cd451c81add58d875eb0c70de854589dc97b2055
 DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 
6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e
 SHA512 
6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662
+DIST julia-dsfmt-2.2.4.tar.gz 4984255 BLAKE2B 
6119445d93cb45faab28dfb52a18c07cd5703b243b3cddde35fff7a5e948fa8788dfe8428ae8e0a52604f91ac07fe7b3bb0f6c438ef93b5257b42baee9dfdec5
 SHA512 
fe84e986cbf198172340adfac0436b08f087643eca3f1ceccacde146cbfd8c41e3eb0dfbb062f7ca5f462db13c386abd7c269bc0cbefc9a0ecf97a8a8870a2e4
 DIST julia-libuv-1fcc6d66f9df74189c74d3d390f02202bb7db953.tar.gz 1590342 
BLAKE2B 
eca658f74421587aec78cb38f5a712033afb072e6425a6ce28fd5d4bac61e41cacbd5a850c1f2b29c386b944d1d9c4f16b7d090f7d2dd6b963b5dbc94ae18981
 SHA512 
70b0c738a60b4e476750b7de8d120e735359e2c36fcb3a8a38628a0ae326210ed3b15d793dfd5443d7aa5603e83e7d99f567aa4c1696846d950df9f83648669c
 DIST julia-libuv-35b1504507a7a4168caae3d78db54d1121b121e1.tar.gz 1577394 
BLAKE2B 
8ab36f781619f710a64ddc6cf257a4c2f6d27ac22e33ed6f184902d0c6cc3a3941254e0a825071fcd57f869e3ccc5eaf71856539cf6b484358d5aafe383000a9
 SHA512 
5932e9105346e952fd0f51f79898e5b9c993261ec1558408437647ab3b3ce282562f1e0a16db5704cb66e7aa7a4c6a75dd7f0da498a98b1b6af48da88b4869f0
+DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 
BLAKE2B 
b2a121e0b94cd1f5d40e292fc2356e8940bf8dfe1e6a200b50caf60def1982b705d1d42dd234e9e8b0aa70439bf34a5bce71761424623cbfcd20c9131ce09c25
 SHA512 
29947c236aef8931be4767df1cd8404ee9b036ee107b31cbce6fad9a97743df57d068b15bc4bd00320b9b81cd879258a9ec9dc675853e424ccdb8d6bdd226240
 DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 
BLAKE2B 
c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599
 SHA512 
6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3
 DIST julia-utf8proc-0890a538bf8238cded9be0c81171f57e43f2c755.tar.gz 155521 
BLAKE2B 
32dc1a8fb641e89057d317e579f1802b7f7dfbdbea7f91c01b282b9a88c2fc6143743d5e45f46d6d465857cfe1b28bd39e9a0da19e80516536c57cb62b139d27
 SHA512 
95d6dba2bbdfc5003f6d21fd02c926c7db9661895010041aacee55fa11dc2524bcffaa90965e2a9a8f2a9e49e93ec7572d6a4de6d5d9f9e075b787537864ea20
+DIST julia-utf8proc-3203baa7374d67132384e2830b2183c92351bffc.tar.gz 182914 
BLAKE2B 
73ebddea183a5993528b1671d365520bea5087e169c79dde33d225cd19af6daa43624acf1afa52da1fd22cd155819e0497830740d70387d10a94de0397c1f5c0
 SHA512 
912d51e5c2daf80865e862daba2971e3a77b224d40179225d5908385d2f7f543a92cd2d9b6cecacfab185d8bd8f2732cad7a9d217f25f1e10a77083fda74f0b5
+DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B 
ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e
 SHA512 
b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8
 DIST llvm-9.0.1.src.tar.xz 33035112 BLAKE2B 
5ae7ac42507cb14983eec0785dfc9b9c788cae75d5493ddf6734da55d3733cc90e35634aa39aa536654d4b68c3ccb7c2f989746f21c634c8989a57d9d32a15b2
 SHA512 
bfb6960a4dd1e18f4005f324f478a781c69e8ec7c20569d9b243fcb9372dc7733b254f26c683373537990cc9c109c78eaf0f65449629ee17caca1bce9b9ccccd

diff --git a/dev-lang/julia/files/julia-1.6.0-fix_build_system.patch 
b/dev-lang/julia/files/julia-1.6.0-fix_build_system.patch
new file mode 100644
index 00000000000..2a3d9762ce8
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.0-fix_build_system.patch
@@ -0,0 +1,53 @@
+diff --git a/Make.inc b/Make.inc
+index 81ff923..79e47f1 100644
+--- a/Make.inc
++++ b/Make.inc
+@@ -185,7 +185,7 @@ USE_GPL_LIBS ?= 1
+ # Directories where said libraries get installed to
+ prefix ?= $(BUILDROOT)/julia-$(JULIA_COMMIT)
+ bindir := $(prefix)/bin
+-libdir := $(prefix)/lib
++libdir := $(prefix)/GENTOOLIBDIR
+ libexecdir := $(prefix)/libexec
+ datarootdir := $(prefix)/share
+ docdir := $(datarootdir)/doc/julia
+@@ -417,7 +417,7 @@ ifneq ($(OS), WINNT)
+ JCXXFLAGS += -pedantic
+ endif
+ DEBUGFLAGS := -O0 -ggdb2 -DJL_DEBUG_BUILD -fstack-protector
+-SHIPFLAGS := -O3 -ggdb2 -falign-functions
++SHIPFLAGS := GENTOOCFLAGS
+ endif
+ 
+ ifeq ($(USECLANG),1)
+@@ -428,7 +428,7 @@ JCFLAGS := -pipe $(fPIC) -fno-strict-aliasing 
-D_FILE_OFFSET_BITS=64
+ JCPPFLAGS := -fasynchronous-unwind-tables
+ JCXXFLAGS := -pipe $(fPIC) -fno-rtti -pedantic
+ DEBUGFLAGS := -O0 -g -DJL_DEBUG_BUILD -fstack-protector
+-SHIPFLAGS := -O3 -g
++SHIPFLAGS := GENTOOCFLAGS
+ ifeq ($(OS), Darwin)
+ ifeq ($(USE_LIBCPP), 1)
+ MACOSX_VERSION_MIN := 10.8
+@@ -457,7 +457,7 @@ JCFLAGS := -std=gnu11 -pipe $(fPIC) -fno-strict-aliasing 
-D_FILE_OFFSET_BITS=64
+ JCPPFLAGS :=
+ JCXXFLAGS := -pipe $(fPIC) -fno-rtti
+ DEBUGFLAGS := -O0 -g -DJL_DEBUG_BUILD -fstack-protector
+-SHIPFLAGS := -O3 -g -falign-functions
++SHIPFLAGS := GENTOOCFLAGS
+ endif
+ 
+ ifeq ($(USECCACHE), 1)
+diff --git a/doc/Makefile b/doc/Makefile
+index 99e60ee..2027fb5 100644
+--- a/doc/Makefile
++++ b/doc/Makefile
+@@ -30,7 +30,7 @@ deps: UnicodeData.txt
+       $(JLCHECKSUM) UnicodeData.txt
+ 
+ clean:
+-      -rm -rf _build/* deps/* docbuild.log UnicodeData.txt
++      @echo "Do not clean doc/_build/html. Just use it..."
+ 
+ cleanall: clean
+ 

diff --git a/dev-lang/julia/julia-1.6.0.ebuild 
b/dev-lang/julia/julia-1.6.0.ebuild
new file mode 100644
index 00000000000..b6b3aa64075
--- /dev/null
+++ b/dev-lang/julia/julia-1.6.0.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm pax-utils toolchain-funcs
+
+# correct versions for stdlibs are in deps/checksums
+# for everything else, run with network-sandbox and wait for the crash
+
+MY_PV="${PV//_rc/-rc}"
+MY_DSFMT_V="2.2.4"
+MY_LIBUV_V="fb3e3364c33ae48c827f6b103e05c3f0e78b79a9"
+MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
+MY_LLVM_V="11.0.1"
+MY_PKG_V="05fa7f93f73afdabd251247d03144de9f7b36b50"
+MY_UNICODE_V="13.0.0"
+MY_UTF8PROC_V="3203baa7374d67132384e2830b2183c92351bffc"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/";
+SRC_URI="
+       
https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz
+       https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> 
${PN}-libuv-${MY_LIBUV_V}.tar.gz
+       
https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> 
${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz
+       https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} 
-> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz
+       
https://github.com/MersenneTwister-Lab/dSFMT/archive/v${MY_DSFMT_V}.tar.gz -> 
${PN}-dsfmt-${MY_DSFMT_V}.tar.gz
+       http://www.unicode.org/Public/${MY_UNICODE_V}/ucd/UnicodeData.txt -> 
${PN}-UnicodeData-${MY_UNICODE_V}.txt
+       https://dev.gentoo.org/~patrick/Pkg-${MY_PKG_V}.tar.gz -> 
${PN}-Pkg-${MY_PKG_V}.tar.gz
+       !system-llvm? ( 
https://github.com/llvm/llvm-project/releases/download/llvmorg-${MY_LLVM_V}/llvm-${MY_LLVM_V}.src.tar.xz
 )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="system-llvm"
+
+RDEPEND="
+       system-llvm? ( sys-devel/llvm:11=[llvm_targets_NVPTX(-)] )
+       !system-llvm? ( dev-util/cmake )
+"
+LLVM_MAX_SLOT=11
+
+# Silence some QA warnings. The julia build system does not use user
+# defined CFLAGS for some of the generated binary modules.
+QA_FLAGS_IGNORED='.*'
+
+RDEPEND+="
+       dev-libs/double-conversion:0=
+       dev-libs/gmp:0=
+       dev-libs/libgit2:0
+       >=dev-libs/libpcre2-10.23:0=[jit,unicode]
+       dev-libs/mpfr:0=
+       dev-libs/openspecfun
+       net-libs/libssh2
+       >=net-libs/mbedtls-2.2
+       sci-libs/amd:0=
+       sci-libs/arpack:0=
+       sci-libs/camd:0=
+       sci-libs/ccolamd:0=
+       sci-libs/cholmod:0=
+       sci-libs/colamd:0=
+       sci-libs/fftw:3.0=[threads]
+       sci-libs/openlibm:0=
+       sci-libs/spqr:0=
+       sci-libs/umfpack:0=
+       sci-mathematics/glpk:0=
+       sci-mathematics/z3
+       >=sys-libs/libunwind-1.1:0=
+       sys-libs/readline:0=
+       sys-libs/zlib:0=
+       >=virtual/blas-3.6
+       virtual/lapack"
+
+DEPEND="${RDEPEND}
+       dev-util/patchelf
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.6.0-fix_build_system.patch
+       "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch
+       "${FILESDIR}"/${PN}-1.4.0-no_symlink_llvm.patch
+)
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+       use system-llvm && llvm_pkg_setup
+}
+
+src_unpack() {
+       tounpack=(${A})
+       # the main source tree, followed by deps
+       unpack "${A/%\ */}"
+
+       mkdir -p "${S}/deps/srccache/"
+       for i in "${tounpack[@]:1}"; do
+               if [[ $i == *Pkg* ]] || [[ $i = *Statistics* ]]; then
+                       # Bundled Pkg and Statistics packages go into ./stdlib
+                       local tarball="${i#julia-}"
+                       cp "${DISTDIR}/${i}" "${S}/stdlib/srccache/${tarball}" 
|| die
+                       # and we have to fix up the sha1sum
+                       local name="${tarball%-*}"
+                       local sha1="${tarball#*-}"
+                       sha1="${sha1%.tar*}"
+                       einfo "using patched stdlib package \"${name}\""
+                       sed -i -e "s/PKG_SHA1 = .*/PKG_SHA1 = ${sha1}/" 
"${S}/stdlib/Pkg.version" || die
+               else
+                       cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" 
|| die
+               fi
+       done
+}
+
+src_prepare() {
+       default
+
+       # Sledgehammer:
+       # - prevent fetching of bundled stuff in compile and install phase
+       # - respect CFLAGS
+       # - respect EPREFIX and Gentoo specific paths
+
+       sed -i \
+               -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
+               -e "s|/usr/include|${EPREFIX}/usr/include|g" \
+               deps/Makefile || die
+
+       sed -i \
+               -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
+               -e "s|GENTOOLIBDIR|$(get_libdir)|" \
+               Make.inc || die
+
+       sed -i \
+               -e "s|,lib)|,$(get_libdir))|g" \
+               -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
+               Makefile || die
+
+       sed -i \
+               -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+               src/Makefile || die
+
+       # disable doc install starting  git fetching
+       sed -i -e 's~install: $(build_depsbindir)/stringreplace 
$(BUILDROOT)/doc/_build/html/en/index.html~install: 
$(build_depsbindir)/stringreplace~' Makefile || die
+
+       # now using sha512 additionally, so need to recreate checksum -
+       sha512sum "${S}/stdlib/srccache/Pkg-${MY_PKG_V}.tar.gz" | awk '{ print 
$1; }' >  "${S}/deps/checksums/Pkg-${MY_PKG_V}.tar.gz/sha512" || die
+}
+
+src_configure() {
+       # julia does not play well with the system versions of dsfmt, libuv,
+       # and utf8proc
+
+       use system-llvm && ewarn "You have enabled system-llvm. This is 
unsupported by upstream and may not work."
+
+       # USE_SYSTEM_LIBM=0 implies using external openlibm
+       cat <<-EOF > Make.user
+               USE_BINARYBUILDER:=0
+               USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
+               USE_SYSTEM_LIBUNWIND:=1
+               USE_SYSTEM_PCRE:=1
+               USE_SYSTEM_LIBM:=0
+               USE_SYSTEM_OPENLIBM:=1
+               USE_SYSTEM_DSFMT:=0
+               USE_SYSTEM_BLAS:=1
+               USE_SYSTEM_LAPACK:=1
+               USE_SYSTEM_GMP:=1
+               USE_SYSTEM_MPFR:=1
+               USE_SYSTEM_SUITESPARSE:=1
+               USE_SYSTEM_LIBUV:=0
+               USE_SYSTEM_UTF8PROC:=0
+               USE_SYSTEM_MBEDTLS:=1
+               USE_SYSTEM_LIBSSH2:=1
+               USE_SYSTEM_CURL:=1
+               USE_SYSTEM_LIBGIT2:=1
+               USE_SYSTEM_PATCHELF:=1
+               USE_SYSTEM_ZLIB:=1
+               USE_SYSTEM_P7ZIP:=1
+               VERBOSE=1
+               libdir="${EROOT}/usr/$(get_libdir)"
+       EOF
+}
+
+src_compile() {
+
+       # Julia accesses /proc/self/mem on Linux
+       addpredict /proc/self/mem
+
+       emake \
+               prefix="${EPREFIX}/usr" DESTDIR="${D}" \
+               CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)"
+       pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
+}
+
+src_install() {
+       emake install \
+               prefix="${EPREFIX}/usr" DESTDIR="${D}" \
+               CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" \
+               BUNDLE_DEBUG_LIBS=0
+
+       if ! use system-llvm ; then
+               cp "${S}/usr/lib/libLLVM"-?jl.so 
"${ED}/usr/$(get_libdir)/julia/" || die
+       fi
+
+       dodoc README.md
+
+       mv "${ED}"/usr/etc/julia "${ED}"/etc || die
+       rmdir "${ED}"/usr/etc || die
+       mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
+       rmdir "${ED}"/usr/share/doc/julia || die
+
+       # The appdata directory is deprecated.
+       mv "${ED}"/usr/share/{appdata,metainfo}/ || die
+}
+
+pkg_postinst() {
+       elog "To use Plots, you will need to install sci-visualization/gr."
+}

Reply via email to