mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-21 14:38:43 +02:00
It's older than the system one (at least for llvm-20), which makes linking of all packages fail... Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
106 lines
2.4 KiB
Bash
106 lines
2.4 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
MY_PN=${PN/-bin/}
|
|
|
|
inherit edo
|
|
|
|
DESCRIPTION="High-performance programming language for technical computing"
|
|
HOMEPAGE="https://julialang.org/"
|
|
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
MY_P=${MY_PN}-latest
|
|
S="${WORKDIR}/"
|
|
|
|
SLOT="9999"
|
|
BDEPEND="net-misc/wget"
|
|
PROPERTIES="live"
|
|
else
|
|
MY_P=${MY_PN}-${PV/_/-}
|
|
MY_PV=$(ver_cut 1-2)
|
|
BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
|
|
|
|
SRC_URI="
|
|
x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
|
|
amd64? (
|
|
elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
|
|
elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
|
|
)
|
|
arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
|
|
"
|
|
S="${WORKDIR}/${MY_P}"
|
|
|
|
SLOT="${MY_PV}"
|
|
KEYWORDS="-* ~amd64 ~arm64 ~x86"
|
|
fi
|
|
|
|
LICENSE="MIT"
|
|
RESTRICT="strip"
|
|
|
|
RDEPEND="app-arch/p7zip"
|
|
|
|
QA_PREBUILT="*"
|
|
|
|
src_unpack() {
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
NIGHTLIES_S3="https://julialangnightlies-s3.julialang.org/bin"
|
|
if use x86; then
|
|
URI="${NIGHTLIES_S3}/linux/x86/${MY_P}-linux32.tar.gz"
|
|
elif use amd64; then
|
|
URI="${NIGHTLIES_S3}/linux/x64/${MY_P}-linux64.tar.gz"
|
|
elif use arm64; then
|
|
URI="${NIGHTLIES_S3}/linux/aarch64/${MY_P}-linuxaarch64.tar.gz"
|
|
else
|
|
die "arch not supported"
|
|
fi
|
|
|
|
edo wget -O "${T}/julia.tar.gz" "${URI}" || die
|
|
unpack "${T}/julia.tar.gz"
|
|
else
|
|
default
|
|
fi
|
|
}
|
|
|
|
src_test() {
|
|
# Smoke test to catch issues like bug #956047
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
edo ./julia-*/bin/julia --version
|
|
else
|
|
edo bin/julia --version
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
insinto "/usr/$(get_libdir)/${MY_P}/"
|
|
exeinto "/usr/$(get_libdir)/${MY_P}/bin"
|
|
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
doins -r ./julia-*/etc
|
|
doins -r ./julia-*/include
|
|
doins -r ./julia-*/lib
|
|
doins -r ./julia-*/share
|
|
|
|
doexe ./julia-*/bin/julia
|
|
dosym "../$(get_libdir)/${MY_P}/bin/julia" "/usr/bin/julia${PV}"
|
|
else
|
|
einfo "Removing bundled libstdc++"
|
|
rm -v ./lib/julia/libstdc++*
|
|
|
|
doins -r ./etc
|
|
doins -r ./include
|
|
doins -r ./lib
|
|
doins -r ./share
|
|
|
|
doexe bin/${MY_PN}
|
|
dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
|
|
|
|
local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
|
|
newenvd - 99${MY_PN}${revord} <<-EOF
|
|
PATH="${EPREFIX}/usr/$(get_libdir)/${MY_P}/bin"
|
|
EOF
|
|
fi
|
|
|
|
elog "QA warnings about unresolved SONAME dependencies can be safely ignored."
|
|
}
|