forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-lang/julia: version bump to 1.7.1
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Matthias Maier <[email protected]>
- Loading branch information
Showing
2 changed files
with
180 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
DIST julia-1.6.3.tar.gz 7734900 BLAKE2B 679851ee159ac83f49e54f1d71068d4abde919a0da39475dccaecc97e705b87db70c38a55fbc7a0cfacc774291013b189fb516817d6c6e67ca5ccfbb515c3f90 SHA512 a622fddc9e9f3f47037053a1e722153a567c065723f99a97912f8c5a6c2a22c3be0be674325361dd1b04601bbe6c6f204c66004ce887f3f7822e8204fd6855de | ||
DIST julia-1.6.5-full.tar.gz 153795029 BLAKE2B b86d3ad8dbc4ce486cc0d5e3c25f40c0bedf38cab5b29f1aac4dd527650e78c2e0e462f4eb13fde787adf48a2de9f8eee9cfb8f4aaafbae6ee5e76d7d9608995 SHA512 f057a913f4579280d757c0a97a7cd800fb335be8ec83a27a577d2bee0c9736d49715c7861f7bc1e6461966634bd82890f1f69fd0167f21903ad614e8f70e0dcc | ||
DIST julia-1.7.0-full.tar.gz 255670801 BLAKE2B e7c5be50ab9e7014f028cf7d0530b269e78dd798dc3d4a88af2ed9fa1331694e39fbcae26d2cae6f15aaf1087656384c9872f344f99121406abdf2902a200176 SHA512 00e1bfe354010f5d900476e46b471c4425b711fff5a2aa0ac9e5dbe6ff02245011d4297e4703f2d46f7d4e7b6d97ffaf1bc63170edbfec440196c5ec75c984ce | ||
DIST julia-1.7.1-full.tar.gz 255682275 BLAKE2B 923cd1ed735f1ff5537ff8655ba5b63cc8d27a9b36ba05f3942447bea67034ad771ca8f69192ca7718ab3aace5d12c0e08961eafead9aedb9af35e2d212e8e97 SHA512 df6c9d33ed69c1b53a7f77f95954d4ed5fadb176ebf9f490e7721bc036109edfaa5873ce9041620af1d5c3731db7acc5af932b4173ce54bcc7ae3d7c9c393638 | ||
DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 BLAKE2B b2a121e0b94cd1f5d40e292fc2356e8940bf8dfe1e6a200b50caf60def1982b705d1d42dd234e9e8b0aa70439bf34a5bce71761424623cbfcd20c9131ce09c25 SHA512 29947c236aef8931be4767df1cd8404ee9b036ee107b31cbce6fad9a97743df57d068b15bc4bd00320b9b81cd879258a9ec9dc675853e424ccdb8d6bdd226240 | ||
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3 | ||
DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e SHA512 b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
# Copyright 1999-2022 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_LLVM_V="13.0.1" | ||
|
||
DESCRIPTION="High-performance programming language for technical computing" | ||
HOMEPAGE="https://julialang.org/" | ||
|
||
SRC_URI=" | ||
https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz | ||
" | ||
|
||
LICENSE="MIT" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="+system-llvm" | ||
|
||
RDEPEND=" | ||
system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] ) | ||
" | ||
LLVM_MAX_SLOT=13 | ||
|
||
RDEPEND+=" | ||
app-arch/p7zip | ||
dev-libs/gmp:0= | ||
dev-libs/libgit2:0 | ||
>=dev-libs/libpcre2-10.23:0=[jit,unicode] | ||
dev-libs/mpfr:0= | ||
dev-libs/libutf8proc:0=[-cjk] | ||
dev-util/patchelf | ||
>=net-libs/mbedtls-2.2 | ||
net-misc/curl[http2,ssh] | ||
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/dsfmt-2.2.4 | ||
>=sys-libs/libunwind-1.1:0= | ||
sys-libs/zlib:0= | ||
>=virtual/blas-3.6 | ||
virtual/lapack" | ||
|
||
DEPEND="${RDEPEND} | ||
dev-util/patchelf | ||
virtual/pkgconfig | ||
!system-llvm? ( dev-util/cmake )" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch | ||
"${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_1.patch | ||
"${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_2.patch | ||
"${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_3.patch | ||
"${FILESDIR}/${PN}"-1.7.0-libgit-1.2.patch | ||
"${FILESDIR}/${PN}"-1.7.0-make-install-no-build.patch | ||
"${FILESDIR}/${PN}"-1.7.0-hardcoded-libs.patch | ||
"${FILESDIR}/${PN}"-1.7.0-do_not_set_rpath.patch | ||
) | ||
# just remove patchelf from linux ?? just my own solution to sigsegv error ?? | ||
#"${FILESDIR}/${PN}"-turnoff-patchelf.patch | ||
|
||
pkg_setup() { | ||
use system-llvm && llvm_pkg_setup | ||
} | ||
|
||
src_unpack() { | ||
local tounpack=(${A}) | ||
# the main source tree, followed by deps | ||
unpack "${tounpack[0]}" | ||
|
||
mkdir -p "${S}/deps/srccache/" | ||
for i in "${tounpack[@]:1}"; do | ||
cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die | ||
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 "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \ | ||
Make.inc || 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() { | ||
use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work." | ||
|
||
# julia does not play well with the system versions of libuv | ||
# USE_SYSTEM_LIBM=0 implies using external openlibm | ||
cat <<-EOF > Make.user | ||
LOCALBASE:="${EPREFIX}/usr" | ||
override prefix:="${EPREFIX}/usr" | ||
override libdir:="\$(prefix)/$(get_libdir)" | ||
override CC:=$(tc-getCC) | ||
override CXX:=$(tc-getCXX) | ||
override AR:=$(tc-getAR) | ||
BUNDLE_DEBUG_LIBS:=0 | ||
USE_BINARYBUILDER:=0 | ||
USE_SYSTEM_CSL:=1 | ||
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:=1 | ||
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:=1 | ||
USE_SYSTEM_MBEDTLS:=1 | ||
USE_SYSTEM_LIBSSH2:=1 | ||
USE_SYSTEM_NGHTTP2:=1 | ||
USE_SYSTEM_CURL:=1 | ||
USE_SYSTEM_LIBGIT2:=1 | ||
USE_SYSTEM_PATCHELF:=1 | ||
USE_SYSTEM_ZLIB:=1 | ||
USE_SYSTEM_P7ZIP:=1 | ||
VERBOSE:=1 | ||
EOF | ||
} | ||
|
||
src_compile() { | ||
# Julia accesses /proc/self/mem on Linux | ||
addpredict /proc/self/mem | ||
|
||
default | ||
pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" | ||
} | ||
|
||
src_install() { | ||
emake install DESTDIR="${D}" | ||
|
||
if ! use system-llvm ; then | ||
local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) | ||
cp "${S}/usr/lib/libLLVM-${llvmslot}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." | ||
} |