public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matthias Maier" <tamiko@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/julia/
Date: Fri, 25 Dec 2020 21:56:41 +0000 (UTC)	[thread overview]
Message-ID: <1608933375.f7ec33492f40a1b612a6d293202a690c7ff7409b.tamiko@gentoo> (raw)

commit:     f7ec33492f40a1b612a6d293202a690c7ff7409b
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 25 21:45:10 2020 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Fri Dec 25 21:56:15 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7ec3349

dev-lang/julia: version bump to 1.5.3

 * export AR environment variable

 * silence warning about unused CFLAGS - julia modules are not compiled
   using the CFLAGS environment variable

Closes: https://bugs.gentoo.org/747430
Closes: https://bugs.gentoo.org/746254
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 dev-lang/julia/Manifest           |   2 +
 dev-lang/julia/julia-1.5.3.ebuild | 209 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 211 insertions(+)

diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 29625ea5643..1bce6f6baf5 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -1,7 +1,9 @@
 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-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-libuv-1fcc6d66f9df74189c74d3d390f02202bb7db953.tar.gz 1590342 BLAKE2B eca658f74421587aec78cb38f5a712033afb072e6425a6ce28fd5d4bac61e41cacbd5a850c1f2b29c386b944d1d9c4f16b7d090f7d2dd6b963b5dbc94ae18981 SHA512 70b0c738a60b4e476750b7de8d120e735359e2c36fcb3a8a38628a0ae326210ed3b15d793dfd5443d7aa5603e83e7d99f567aa4c1696846d950df9f83648669c
 DIST julia-libuv-35b1504507a7a4168caae3d78db54d1121b121e1.tar.gz 1577394 BLAKE2B 8ab36f781619f710a64ddc6cf257a4c2f6d27ac22e33ed6f184902d0c6cc3a3941254e0a825071fcd57f869e3ccc5eaf71856539cf6b484358d5aafe383000a9 SHA512 5932e9105346e952fd0f51f79898e5b9c993261ec1558408437647ab3b3ce282562f1e0a16db5704cb66e7aa7a4c6a75dd7f0da498a98b1b6af48da88b4869f0
 DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3
 DIST julia-utf8proc-0890a538bf8238cded9be0c81171f57e43f2c755.tar.gz 155521 BLAKE2B 32dc1a8fb641e89057d317e579f1802b7f7dfbdbea7f91c01b282b9a88c2fc6143743d5e45f46d6d465857cfe1b28bd39e9a0da19e80516536c57cb62b139d27 SHA512 95d6dba2bbdfc5003f6d21fd02c926c7db9661895010041aacee55fa11dc2524bcffaa90965e2a9a8f2a9e49e93ec7572d6a4de6d5d9f9e075b787537864ea20

diff --git a/dev-lang/julia/julia-1.5.3.ebuild b/dev-lang/julia/julia-1.5.3.ebuild
new file mode 100644
index 00000000000..80ed418335b
--- /dev/null
+++ b/dev-lang/julia/julia-1.5.3.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2020 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.3"
+MY_LIBUV_V="1fcc6d66f9df74189c74d3d390f02202bb7db953"
+MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
+MY_LLVM_V="9.0.1"
+MY_PKG_V="49908bffe83790bc7cf3c5d46faf3667f8902ad4"
+MY_UNICODE_V="13.0.0"
+MY_UTF8PROC_V="0890a538bf8238cded9be0c81171f57e43f2c755"
+
+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
+	http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${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/~tamiko/distfiles/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:9=[llvm_targets_NVPTX(-)] )
+	!system-llvm? ( dev-util/cmake )
+"
+LLVM_MAX_SLOT=9
+
+# 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/mbedtls-2.2
+	net-libs/libssh2
+	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=
+	>=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.1.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/${name}.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
+}
+
+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 julia-release \
+		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}')"
+	emake
+}
+
+src_install() {
+	emake install \
+		prefix="${EPREFIX}/usr" DESTDIR="${D}" \
+		CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+	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
+}
+
+pkg_postinst() {
+	elog "To use Plots, you will need to install sci-visualization/gr."
+}


             reply	other threads:[~2020-12-25 21:56 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-25 21:56 Matthias Maier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-26 13:13 [gentoo-commits] repo/gentoo:master commit in: dev-lang/julia/ Eli Schwartz
2023-05-14  6:30 Matthias Maier
2023-05-02  0:39 Maciej Barć
2023-04-30 11:10 Maciej Barć
2023-02-13 16:53 Maciej Barć
2023-02-13 14:46 Maciej Barć
2023-01-01 22:45 Maciej Barć
2023-01-01 12:30 Maciej Barć
2022-12-13  6:28 Matthias Maier
2022-12-13  6:22 Matthias Maier
2022-12-13  5:30 Maciej Barć
2022-11-16 16:27 Maciej Barć
2022-10-08 23:21 Maciej Barć
2022-07-26 21:40 Maciej Barć
2022-06-06  5:17 Matthias Maier
2022-03-17 16:18 Maciej Barć
2022-01-04 16:21 Matthias Maier
2022-01-03 22:22 Matthias Maier
2022-01-03 21:37 Matthias Maier
2021-11-18  6:38 Matthias Maier
2021-09-25  2:58 Sam James
2021-04-08  2:31 Matthias Maier
2021-04-08  2:31 Matthias Maier
2021-04-08  2:31 Matthias Maier
2021-04-08  2:31 Matthias Maier
2021-04-08  2:31 Matthias Maier
2020-12-26  0:53 Matthias Maier
2020-12-25 23:28 Matthias Maier
2020-12-25 21:56 Matthias Maier
2020-12-25 21:17 Matthias Maier
2020-12-04  5:53 Matthias Maier
2020-10-02 18:27 Matthias Maier
2020-10-02 17:42 Matthias Maier
2020-10-02 17:42 Matthias Maier
2020-07-01 16:38 Andreas K. Hüttel
2020-06-22  6:53 Andreas K. Hüttel
2020-06-21 19:49 Andreas K. Hüttel
2020-04-07 21:03 Matthias Maier
2020-04-04 19:32 Matthias Maier
2019-12-11  3:33 Matthias Maier
2019-12-11  3:33 Matthias Maier
2019-12-11  3:33 Matthias Maier
2019-09-22  2:18 Matthias Maier
2019-08-05 15:03 Matthias Maier
2019-05-25 17:42 Matthias Maier
2018-10-06 19:56 Matthias Maier
2018-09-04  1:20 Matthias Maier
2018-09-04  1:20 Matthias Maier
2018-08-31  3:23 Matthias Maier
2018-08-31  2:32 Matthias Maier
2018-08-31  2:32 Matthias Maier
2018-08-27 22:00 Matthias Maier
2018-07-01  4:49 Matthias Maier
2018-07-01  4:11 Matthias Maier
2018-06-30 22:55 Matthias Maier
2018-05-25  7:47 Fabian Groffen
2018-03-19  1:01 Matthias Maier
2018-03-19  1:01 Matthias Maier
2018-03-01 19:13 Matthias Maier
2017-11-28 11:12 Matthias Maier
2017-11-28 11:12 Matthias Maier
2017-11-28 11:12 Matthias Maier
2017-11-27 18:09 Matthias Maier
2017-11-27 18:09 Matthias Maier
2017-10-07  4:12 Matthias Maier
2017-09-25  7:35 Patrick Lauer
2017-09-25  6:44 Patrick Lauer
2017-09-16  5:27 Matthias Maier
2017-09-16  5:01 Matthias Maier
2017-07-27  0:41 Matthias Maier
2017-04-27 12:31 Patrick Lauer
2017-03-22 23:04 Matthias Maier
2016-09-25  5:49 Matthias Maier
2016-09-24 21:25 Matthias Maier
2016-07-05 19:04 Michał Górny
2016-04-13  5:53 Austin English
2016-01-22 17:14 Matthias Maier
2016-01-16 11:48 Matthias Maier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1608933375.f7ec33492f40a1b612a6d293202a690c7ff7409b.tamiko@gentoo \
    --to=tamiko@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox