From d69399c7befdd98cda62d6a1788ae2aa7f104c5e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 7 Jan 2025 06:41:06 +0000 Subject: gentoo auto-resync : 07:01:2025 - 06:41:06 --- dev-lang/julia/Manifest | 8 +- dev-lang/julia/julia-1.8.3-r4.ebuild | 183 --------------------------- dev-lang/julia/julia-1.8.3-r5.ebuild | 183 +++++++++++++++++++++++++++ dev-lang/julia/julia-1.8.5-r1.ebuild | 232 ----------------------------------- dev-lang/julia/julia-1.8.5-r2.ebuild | 232 +++++++++++++++++++++++++++++++++++ dev-lang/julia/julia-1.9.0-r1.ebuild | 211 +++++++++++++++++++++++++++++++ dev-lang/julia/julia-1.9.0.ebuild | 211 ------------------------------- dev-lang/julia/julia-1.9.4-r1.ebuild | 198 ++++++++++++++++++++++++++++++ dev-lang/julia/julia-1.9.4.ebuild | 198 ------------------------------ 9 files changed, 828 insertions(+), 828 deletions(-) delete mode 100644 dev-lang/julia/julia-1.8.3-r4.ebuild create mode 100644 dev-lang/julia/julia-1.8.3-r5.ebuild delete mode 100644 dev-lang/julia/julia-1.8.5-r1.ebuild create mode 100644 dev-lang/julia/julia-1.8.5-r2.ebuild create mode 100644 dev-lang/julia/julia-1.9.0-r1.ebuild delete mode 100644 dev-lang/julia/julia-1.9.0.ebuild create mode 100644 dev-lang/julia/julia-1.9.4-r1.ebuild delete mode 100644 dev-lang/julia/julia-1.9.4.ebuild (limited to 'dev-lang/julia') diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest index 1775ba16abd3..196a536944e4 100644 --- a/dev-lang/julia/Manifest +++ b/dev-lang/julia/Manifest @@ -23,8 +23,8 @@ DIST julia-1.8.5-full.tar.gz 275344455 BLAKE2B d51ee25e9c7dd54e3fcc35cd75c909686 DIST julia-1.9.0-full.tar.gz 297690117 BLAKE2B 7fb67dedff33f627ab4c33a1a784f8a56c69c92e1fa88badeecc6c19e7c6889a6c686502ce49df06fcee989372bb5978cb811647f8b6f9b1d4cec201fc1000b4 SHA512 e7ab6bc1f923af6ea2ef0fc80ddd1e489e059d8fc1ed47de160e33c13dcb8daa8141ada174588dde12943ffa48332681d1d060c6372f4e2292d92946d1fb7fe2 DIST julia-1.9.4-full.tar.gz 294983229 BLAKE2B d4ffa0d2ceff2113d007502248cc7dd106fa5262e23b2f79d63bf419994f42f814a49cdc88483615665d5d57b1b36b6c319f68f3e0802a603a5cbb0e6b992cc1 SHA512 cd2c7df8856f35ffc89e2a22ef70fbbfbec2e50835e56e26c67a9efcd69aa448c1aa71b002235a47c2036926ab127c4e232c938df4d23e600dbd27bf72b8283c DIST julia-a48ad530.patch 2790 BLAKE2B 4f7b1a3baeadff597b8b7e0e55705ff09625457a7889179e2f7d7ec1370008a5329901c45ad038bd830276d120e35d87254fe55ea497b2632988254ddd591df2 SHA512 4222901d28b100a81743a4092fb78862160e5b1c23d1a7fd242df815703897b974c8aec79518f67f4cf33ccbc88f75bf6e10d1189b7163b94b5d347ef8db940b -EBUILD julia-1.8.3-r4.ebuild 4782 BLAKE2B f3142f82797a4e8eaa59bf154607f329d463006d8f32d448877d7236e66df2bef0d5953478c76fa04785aa4b6d6b6e5ebf654acc1de971debcd7339801e60740 SHA512 53480e84bb86ae3459f8e3de6868bf6d8f50b5631be6492b806b0ef816c8ea237e33f25e2d3927c181fb126b85fc0063079b3058985c97a05d47d9c67b4d794e -EBUILD julia-1.8.5-r1.ebuild 6323 BLAKE2B 8a67d8b348c8fc1f9386a86c273261f07c899557463b9d23830a0101644ca1061b39993047f30399f55d43fe2d16b5b14c133e699e611a5b37731559fad718eb SHA512 27f15350d3598356fe6ff536551a7f456cd4b9d790c5e278aab200bf787ee18004559e461a1bfd8533ea9272ad1611ff3e255c61532e2e604a8d7136c5f728c3 -EBUILD julia-1.9.0.ebuild 5427 BLAKE2B ce880c3a331037c43a4e8a1ba92cdbeb42ace33473635327a1a06c2ebd3854e57d17289238549f2c4bfeb4fc3b76845f9af73ecc11f0a7874fc8d2ab8f73415f SHA512 3f545deef2a06c9e526c95c48322f788c09df03734f07decc7647465cc9a9521117ca2bb2c54d54f062531a33238e2302e2d6000219238b44a1a1d53d7927877 -EBUILD julia-1.9.4.ebuild 5019 BLAKE2B 72174bd5ad41e6fcd7575b2a6389f11cfc1deaa3c5ead52b4281d0cf981bc821afc62415626f5aae4ceafca201d3c5cb300b131094aacc77ff7a54430a7d35ca SHA512 4ce3a17a485d60f3fc729d47810342c2a891bece4dd16f9d0c6db1147b390b7494574d467c6eef607fe6c1130bcf7f300f948e8d3586ccc89e939e2ad9b9eb40 +EBUILD julia-1.8.3-r5.ebuild 4785 BLAKE2B 60c447600d4946f2e766dab6db22bf3d91c99696902e39585c03f767fd617be421da1ad2a1db5e008b12e2f684acbc3d29287a821efc350590258a401f219a4e SHA512 69941254f34400b09ec2168eca422c669ad0c515f4da8c98eabe1aa01ca65d02321fa901576df99a9f9ef76867dc98bc981fa6dcae94582519d2aaf2ffd44b6d +EBUILD julia-1.8.5-r2.ebuild 6326 BLAKE2B b4c592814ee6804977a23963fd4e0332689830429587e2e9ec57f19ee19559de0212ade87dd72c7b651c1aa125925349c30161cbec7066cf7daa070d922fe8d4 SHA512 b862b60de2cd0c7b6af73b67246ab3a177e75e74866135fddec72161326946c1f6a72235f84fc8f935c7a6b608c5b15bfaf8c495eab47e1f434bef4147747655 +EBUILD julia-1.9.0-r1.ebuild 5430 BLAKE2B debacda2f5b369b4644ab8a160f316c7469b92b8deb49f919ce88ee2552a67fd505409aaab8dfabb5d06102bbd721820ef3aa68bd71ffcbb2c3d34b91a95b32d SHA512 222f000130de048c862d676eec8ca0cef6370d398dc9d487b88f388035e34a59bdae607c14acc17e660a62ae8f1282b0c6b4faf548c49fc939980d0e8201df6b +EBUILD julia-1.9.4-r1.ebuild 5022 BLAKE2B 9a71899a25ad701fdd02a74c766297df889cf3dc37cb12a4ade02c149fd4debf4b81286bbea46603c14ce70e2315751b16385a8c848993dc8699632c7bcc4652 SHA512 181c21f674e00956462c23fbcfbedc18556cdc78a572c169ac41bb5657832b0174ddc539dfae21bd22dd6d40e7efa7ee8f29ca3da5a1335837d3472003773bc9 MISC metadata.xml 1180 BLAKE2B 32bf6e513df1c656c4d59030e3bda12a756c6577562b5ced73c9e46f204c774b2411186e8a995687424d068fea83b6b379fe5c7ed9fd1f5d01949e66b95a164a SHA512 9ee29e001cb2306b430cccd11f742829c2e9f28030f9622bf2557e7789054b2d61f903422e6c4a789bf6fa5a86310f35a2e3f08f4b0faa4c812879012e8329d0 diff --git a/dev-lang/julia/julia-1.8.3-r4.ebuild b/dev-lang/julia/julia-1.8.3-r4.ebuild deleted file mode 100644 index 997f4870446f..000000000000 --- a/dev-lang/julia/julia-1.8.3-r4.ebuild +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# correct versions for stdlibs are in deps/checksums -# for everything else, run with network-sandbox and wait for the crash - -EAPI=8 - -# >=1.8.2 still sits on LLVM 13, bug: https://bugs.gentoo.org/876184 -MY_LLVM_V=13.0.1 - -inherit flag-o-matic pax-utils toolchain-funcs optfeature - -DESCRIPTION="High-performance programming language for technical computing" -HOMEPAGE="https://julialang.org/ - https://github.com/JuliaLang/julia/" -SRC_URI="https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - app-arch/p7zip - app-misc/ca-certificates - dev-libs/gmp:0= - dev-libs/libgit2:0 - dev-libs/mpfr:0= - >=dev-libs/libutf8proc-2.6.1:0=[-cjk] - >=dev-util/patchelf-0.13 - >=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}" -BDEPEND=" - dev-build/cmake - virtual/pkgconfig -" - -PATCHES=( "${FILESDIR}"/${PN}-1.8.0-llvm-no-bindings.patch ) - -# Huge thanks to Arch Linux developers for the patches. -archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" -archlinux_patches=( - 074d761f.patch - ed9851b0.patch - julia-hardcoded-libs.patch - julia-libunwind-1.6.patch - julia-llvm-14.patch - julia-system-cblas.patch - make-install-no-build.patch -) -for archlinux_patch in ${archlinux_patches[@]} ; do - archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" - SRC_URI+=" - ${archlinux_uri}/${archlinux_patch} - -> ${archlinux_patch_name} - " - PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) -done - -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 - - # Various LTO issues. - # https://bugs.gentoo.org/855602 - filter-lto - - # 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() { - # julia does not play well with the system versions of libuv - # Fails to compile with libpcre2 on split-usr, bug #893336 - # 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:=0 - USE_SYSTEM_LIBUNWIND:=1 - USE_SYSTEM_PCRE:=0 - USE_SYSTEM_LIBM:=0 - USE_SYSTEM_OPENLIBM:=1 - USE_SYSTEM_DSFMT:=1 - USE_SYSTEM_BLAS:=1 - USE_SYSTEM_LAPACK:=1 - USE_SYSTEM_LIBBLASTRAMPOLINE:=0 - USE_SYSTEM_GMP:=1 - USE_SYSTEM_MPFR:=1 - USE_SYSTEM_LIBSUITESPARSE:=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 - - emake - pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" -} - -src_install() { - emake -j1 install DESTDIR="${D}" - dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md - - local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) - cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die - cp "${S}/usr/lib/libLLVM-${MY_LLVM_V}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die - - 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 - - # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 - dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem -} - -pkg_postinst() { - optfeature "Julia Plots" sci-visualization/gr -} diff --git a/dev-lang/julia/julia-1.8.3-r5.ebuild b/dev-lang/julia/julia-1.8.3-r5.ebuild new file mode 100644 index 000000000000..7ae8ecc12cb4 --- /dev/null +++ b/dev-lang/julia/julia-1.8.3-r5.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# correct versions for stdlibs are in deps/checksums +# for everything else, run with network-sandbox and wait for the crash + +EAPI=8 + +# >=1.8.2 still sits on LLVM 13, bug: https://bugs.gentoo.org/876184 +MY_LLVM_V=13.0.1 + +inherit flag-o-matic pax-utils toolchain-funcs optfeature + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="https://julialang.org/ + https://github.com/JuliaLang/julia/" +SRC_URI="https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + app-arch/p7zip + app-misc/ca-certificates + dev-libs/gmp:0= + dev-libs/libgit2:0 + dev-libs/mpfr:0= + >=dev-libs/libutf8proc-2.6.1:0=[-cjk] + >=dev-util/patchelf-0.13 + >=net-libs/mbedtls-2.2:0= + 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}" +BDEPEND=" + dev-build/cmake + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}"/${PN}-1.8.0-llvm-no-bindings.patch ) + +# Huge thanks to Arch Linux developers for the patches. +archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" +archlinux_patches=( + 074d761f.patch + ed9851b0.patch + julia-hardcoded-libs.patch + julia-libunwind-1.6.patch + julia-llvm-14.patch + julia-system-cblas.patch + make-install-no-build.patch +) +for archlinux_patch in ${archlinux_patches[@]} ; do + archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" + SRC_URI+=" + ${archlinux_uri}/${archlinux_patch} + -> ${archlinux_patch_name} + " + PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) +done + +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 + + # Various LTO issues. + # https://bugs.gentoo.org/855602 + filter-lto + + # 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() { + # julia does not play well with the system versions of libuv + # Fails to compile with libpcre2 on split-usr, bug #893336 + # 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:=0 + USE_SYSTEM_LIBUNWIND:=1 + USE_SYSTEM_PCRE:=0 + USE_SYSTEM_LIBM:=0 + USE_SYSTEM_OPENLIBM:=1 + USE_SYSTEM_DSFMT:=1 + USE_SYSTEM_BLAS:=1 + USE_SYSTEM_LAPACK:=1 + USE_SYSTEM_LIBBLASTRAMPOLINE:=0 + USE_SYSTEM_GMP:=1 + USE_SYSTEM_MPFR:=1 + USE_SYSTEM_LIBSUITESPARSE:=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 + + emake + pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" +} + +src_install() { + emake -j1 install DESTDIR="${D}" + dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md + + local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) + cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die + cp "${S}/usr/lib/libLLVM-${MY_LLVM_V}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die + + 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 + + # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 + dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem +} + +pkg_postinst() { + optfeature "Julia Plots" sci-visualization/gr +} diff --git a/dev-lang/julia/julia-1.8.5-r1.ebuild b/dev-lang/julia/julia-1.8.5-r1.ebuild deleted file mode 100644 index 555a81908e12..000000000000 --- a/dev-lang/julia/julia-1.8.5-r1.ebuild +++ /dev/null @@ -1,232 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# correct versions for stdlibs are in deps/checksums -# for everything else, run with network-sandbox and wait for the crash - -EAPI=8 - -# >=1.8.2 still sits on LLVM 13, bug: https://bugs.gentoo.org/876184 -MY_LLVM_V=13.0.1 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs - -DESCRIPTION="High-performance programming language for technical computing" -HOMEPAGE="https://julialang.org/ - https://github.com/JuliaLang/julia/" -SRC_URI=" - https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz - https://github.com/JuliaLang/julia/commit/0b211609.patch - -> ${PN}-0b211609.patch - https://github.com/JuliaLang/julia/commit/a48ad530.patch - -> ${PN}-a48ad530.patch -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" -PROPERTIES="test_network" -RESTRICT="test" - -RDEPEND=" - >=dev-libs/libutf8proc-2.6.1:0=[-cjk] - >=dev-util/patchelf-0.13 - >=net-libs/mbedtls-2.2 - >=sci-mathematics/dsfmt-2.2.4 - >=sys-libs/libunwind-1.1:0= - >=virtual/blas-3.6 - app-arch/p7zip - app-misc/ca-certificates - dev-libs/gmp:0= - dev-libs/libgit2:0 - dev-libs/mpfr:0= - 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= - sys-libs/zlib:0= - virtual/lapack -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-build/cmake - virtual/pkgconfig -" - -CHECKREQS_DISK_BUILD="4G" -PATCHES=( - "${DISTDIR}"/${PN}-0b211609.patch - "${DISTDIR}"/${PN}-a48ad530.patch - "${FILESDIR}"/${PN}-1.8.5-cstdint-includes.patch - "${FILESDIR}"/${PN}-1.8.0-llvm-no-bindings.patch - "${FILESDIR}"/${PN}-1.8.3-gcc13.patch -) -QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. - -# Huge thanks to Arch Linux developers for the patches. -archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" -archlinux_patches=( - 074d761f.patch # wanted - 0db596e6.patch # secondary - 190565c2.patch # secondary - 23f39f83.patch # secondary - 3423639d.patch # secondary - 68adc00e.patch # secondary - 700c69b1.patch # secondary - ed9851b0.patch # wanted - julia-hardcoded-libs.patch # wanted - julia-libunwind-1.6.patch # wanted - julia-mpfr-4.2.patch # secondary - julia-system-cblas.patch # wanted -) -for archlinux_patch in ${archlinux_patches[@]} ; do - archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" - SRC_URI+=" - ${archlinux_uri}/${archlinux_patch} - -> ${archlinux_patch_name} - " - PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) -done - -pkg_setup() { - check-reqs_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - local -a tounpack=( ${A} ) - # the main source tree, followed by deps - unpack "${tounpack[0]}" - - mkdir -p "${S}/deps/srccache/" - local i - for i in "${tounpack[@]:1}"; do - cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die - done - - # Extract tarballs for patching. - cd "${S}/deps/srccache/" || die - tar xf llvm-julia-13.0.1-3.tar.gz || die -} - -src_prepare() { - default - - # Various LTO issues. - # https://bugs.gentoo.org/855602 - filter-lto - - # 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 - - # Blank the tarball checksum check script. - echo "#!/bin/sh" > deps/tools/jlchecksum || die - - # Repack tarballs. - cd "${S}/deps/srccache/" || die - tar czf llvm-julia-13.0.1-3.tar.gz JuliaLang-llvm-project-8a2ae8c || die -} - -src_configure() { - # julia does not play well with the system versions of libuv - # Fails to compile with libpcre2 on split-usr, bug #893336 - # 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_INTEL_JITEVENTS=0 - USE_SYSTEM_CSL:=1 - USE_SYSTEM_LLVM:=0 - USE_SYSTEM_LIBUNWIND:=1 - USE_SYSTEM_PCRE:=0 - USE_SYSTEM_LIBM:=0 - USE_SYSTEM_OPENLIBM:=1 - USE_SYSTEM_DSFMT:=1 - USE_SYSTEM_BLAS:=1 - USE_SYSTEM_LAPACK:=1 - USE_SYSTEM_LIBBLASTRAMPOLINE:=0 - USE_SYSTEM_GMP:=1 - USE_SYSTEM_MPFR:=1 - USE_SYSTEM_LIBSUITESPARSE:=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 - - emake - pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" -} - -src_install() { - emake -j1 install DESTDIR="${D}" - dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md - - local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) - cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - - 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 - - # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 - dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem - - # Julia always searches for "sys.so" inside "/usr/lib/julia", - # bug: https://github.com/JuliaLang/julia/issues/49574 - if [[ $(get_libdir) == "lib64" ]] ; then - insinto /usr/lib/julia - doins "${ED}"/usr/$(get_libdir)/julia/sys.so - fi -} - -pkg_postinst() { - optfeature "Julia Plots" sci-visualization/gr -} diff --git a/dev-lang/julia/julia-1.8.5-r2.ebuild b/dev-lang/julia/julia-1.8.5-r2.ebuild new file mode 100644 index 000000000000..405c44c053f9 --- /dev/null +++ b/dev-lang/julia/julia-1.8.5-r2.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# correct versions for stdlibs are in deps/checksums +# for everything else, run with network-sandbox and wait for the crash + +EAPI=8 + +# >=1.8.2 still sits on LLVM 13, bug: https://bugs.gentoo.org/876184 +MY_LLVM_V=13.0.1 + +PYTHON_COMPAT=( python3_{10..11} ) + +inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="https://julialang.org/ + https://github.com/JuliaLang/julia/" +SRC_URI=" + https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz + https://github.com/JuliaLang/julia/commit/0b211609.patch + -> ${PN}-0b211609.patch + https://github.com/JuliaLang/julia/commit/a48ad530.patch + -> ${PN}-a48ad530.patch +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND=" + >=dev-libs/libutf8proc-2.6.1:0=[-cjk] + >=dev-util/patchelf-0.13 + >=net-libs/mbedtls-2.2:0= + >=sci-mathematics/dsfmt-2.2.4 + >=sys-libs/libunwind-1.1:0= + >=virtual/blas-3.6 + app-arch/p7zip + app-misc/ca-certificates + dev-libs/gmp:0= + dev-libs/libgit2:0 + dev-libs/mpfr:0= + 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= + sys-libs/zlib:0= + virtual/lapack +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + virtual/pkgconfig +" + +CHECKREQS_DISK_BUILD="4G" +PATCHES=( + "${DISTDIR}"/${PN}-0b211609.patch + "${DISTDIR}"/${PN}-a48ad530.patch + "${FILESDIR}"/${PN}-1.8.5-cstdint-includes.patch + "${FILESDIR}"/${PN}-1.8.0-llvm-no-bindings.patch + "${FILESDIR}"/${PN}-1.8.3-gcc13.patch +) +QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. + +# Huge thanks to Arch Linux developers for the patches. +archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" +archlinux_patches=( + 074d761f.patch # wanted + 0db596e6.patch # secondary + 190565c2.patch # secondary + 23f39f83.patch # secondary + 3423639d.patch # secondary + 68adc00e.patch # secondary + 700c69b1.patch # secondary + ed9851b0.patch # wanted + julia-hardcoded-libs.patch # wanted + julia-libunwind-1.6.patch # wanted + julia-mpfr-4.2.patch # secondary + julia-system-cblas.patch # wanted +) +for archlinux_patch in ${archlinux_patches[@]} ; do + archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" + SRC_URI+=" + ${archlinux_uri}/${archlinux_patch} + -> ${archlinux_patch_name} + " + PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) +done + +pkg_setup() { + check-reqs_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + local -a tounpack=( ${A} ) + # the main source tree, followed by deps + unpack "${tounpack[0]}" + + mkdir -p "${S}/deps/srccache/" + local i + for i in "${tounpack[@]:1}"; do + cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die + done + + # Extract tarballs for patching. + cd "${S}/deps/srccache/" || die + tar xf llvm-julia-13.0.1-3.tar.gz || die +} + +src_prepare() { + default + + # Various LTO issues. + # https://bugs.gentoo.org/855602 + filter-lto + + # 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 + + # Blank the tarball checksum check script. + echo "#!/bin/sh" > deps/tools/jlchecksum || die + + # Repack tarballs. + cd "${S}/deps/srccache/" || die + tar czf llvm-julia-13.0.1-3.tar.gz JuliaLang-llvm-project-8a2ae8c || die +} + +src_configure() { + # julia does not play well with the system versions of libuv + # Fails to compile with libpcre2 on split-usr, bug #893336 + # 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_INTEL_JITEVENTS=0 + USE_SYSTEM_CSL:=1 + USE_SYSTEM_LLVM:=0 + USE_SYSTEM_LIBUNWIND:=1 + USE_SYSTEM_PCRE:=0 + USE_SYSTEM_LIBM:=0 + USE_SYSTEM_OPENLIBM:=1 + USE_SYSTEM_DSFMT:=1 + USE_SYSTEM_BLAS:=1 + USE_SYSTEM_LAPACK:=1 + USE_SYSTEM_LIBBLASTRAMPOLINE:=0 + USE_SYSTEM_GMP:=1 + USE_SYSTEM_MPFR:=1 + USE_SYSTEM_LIBSUITESPARSE:=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 + + emake + pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" +} + +src_install() { + emake -j1 install DESTDIR="${D}" + dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md + + local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) + cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + + 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 + + # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 + dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem + + # Julia always searches for "sys.so" inside "/usr/lib/julia", + # bug: https://github.com/JuliaLang/julia/issues/49574 + if [[ $(get_libdir) == "lib64" ]] ; then + insinto /usr/lib/julia + doins "${ED}"/usr/$(get_libdir)/julia/sys.so + fi +} + +pkg_postinst() { + optfeature "Julia Plots" sci-visualization/gr +} diff --git a/dev-lang/julia/julia-1.9.0-r1.ebuild b/dev-lang/julia/julia-1.9.0-r1.ebuild new file mode 100644 index 000000000000..46bd0cf4dd10 --- /dev/null +++ b/dev-lang/julia/julia-1.9.0-r1.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# correct versions for stdlibs are in deps/checksums +# for everything else, run with network-sandbox and wait for the crash + +EAPI=8 + +MY_LLVM_V=14.0.6 + +PYTHON_COMPAT=( python3_{10..11} ) + +inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="https://julialang.org/ + https://github.com/JuliaLang/julia/" +SRC_URI=" + https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="" +#KEYWORDS="~amd64 ~x86" +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND=" + >=dev-libs/libutf8proc-2.6.1:0=[-cjk] + >=dev-util/patchelf-0.13 + >=net-libs/mbedtls-2.2:0= + >=sci-mathematics/dsfmt-2.2.4 + >=sys-libs/libunwind-1.1:0= + >=virtual/blas-3.6 + app-arch/p7zip + app-misc/ca-certificates + dev-libs/gmp:0= + dev-libs/libgit2:0 + dev-libs/mpfr:0= + 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= + sys-libs/zlib:0= + virtual/lapack +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + virtual/pkgconfig +" + +CHECKREQS_DISK_BUILD="4G" +PATCHES=( +) +QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. + +# Huge thanks to Arch Linux developers for the patches. +archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" +archlinux_patches=( +) +for archlinux_patch in ${archlinux_patches[@]} ; do + archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" + SRC_URI+=" + ${archlinux_uri}/${archlinux_patch} + -> ${archlinux_patch_name} + " + PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) +done + +pkg_setup() { + check-reqs_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + local -a tounpack=( ${A} ) + # the main source tree, followed by deps + unpack "${tounpack[0]}" + + mkdir -p "${S}/deps/srccache/" + local i + for i in "${tounpack[@]:1}"; do + cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die + done + + # Extract tarballs for patching. + # cd "${S}/deps/srccache/" || die + # tar xf llvm-julia-${MY_LLVM_V}-3.tar.gz || die +} + +src_prepare() { + default + + # Various LTO issues. + # https://bugs.gentoo.org/855602 + filter-lto + + # 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 + + # Blank the tarball checksum check script. + echo "#!/bin/sh" > deps/tools/jlchecksum || die + + # Repack tarballs. + # cd "${S}/deps/srccache/" || die + # tar czf llvm-julia-${MY_LLVM_V}-3.tar.gz JuliaLang-llvm-project-* || die +} + +src_configure() { + # julia does not play well with the system versions of libuv + # Fails to compile with libpcre2 on split-usr, bug #893336 + # 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_INTEL_JITEVENTS=0 + USE_SYSTEM_CSL:=1 + USE_SYSTEM_LLVM:=0 + USE_SYSTEM_LIBUNWIND:=1 + USE_SYSTEM_PCRE:=0 + USE_SYSTEM_LIBM:=0 + USE_SYSTEM_OPENLIBM:=1 + USE_SYSTEM_DSFMT:=1 + USE_SYSTEM_BLAS:=1 + USE_SYSTEM_LAPACK:=1 + USE_SYSTEM_LIBBLASTRAMPOLINE:=0 + USE_SYSTEM_GMP:=1 + USE_SYSTEM_MPFR:=1 + USE_SYSTEM_LIBSUITESPARSE:=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 + + emake + pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" +} + +src_install() { + emake -j1 install DESTDIR="${D}" + dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md + + local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) + cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + + 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 + + # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 + dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem + + # Julia always searches for "sys.so" inside "/usr/lib/julia", + # bug: https://github.com/JuliaLang/julia/issues/49574 + if [[ $(get_libdir) == "lib64" ]] ; then + insinto /usr/lib/julia + doins "${ED}"/usr/$(get_libdir)/julia/sys.so + fi +} + +pkg_postinst() { + optfeature "Julia Plots" sci-visualization/gr +} diff --git a/dev-lang/julia/julia-1.9.0.ebuild b/dev-lang/julia/julia-1.9.0.ebuild deleted file mode 100644 index d1c6e722a101..000000000000 --- a/dev-lang/julia/julia-1.9.0.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# correct versions for stdlibs are in deps/checksums -# for everything else, run with network-sandbox and wait for the crash - -EAPI=8 - -MY_LLVM_V=14.0.6 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs - -DESCRIPTION="High-performance programming language for technical computing" -HOMEPAGE="https://julialang.org/ - https://github.com/JuliaLang/julia/" -SRC_URI=" - https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="" -#KEYWORDS="~amd64 ~x86" -PROPERTIES="test_network" -RESTRICT="test" - -RDEPEND=" - >=dev-libs/libutf8proc-2.6.1:0=[-cjk] - >=dev-util/patchelf-0.13 - >=net-libs/mbedtls-2.2 - >=sci-mathematics/dsfmt-2.2.4 - >=sys-libs/libunwind-1.1:0= - >=virtual/blas-3.6 - app-arch/p7zip - app-misc/ca-certificates - dev-libs/gmp:0= - dev-libs/libgit2:0 - dev-libs/mpfr:0= - 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= - sys-libs/zlib:0= - virtual/lapack -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-build/cmake - virtual/pkgconfig -" - -CHECKREQS_DISK_BUILD="4G" -PATCHES=( -) -QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. - -# Huge thanks to Arch Linux developers for the patches. -archlinux_uri="https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/" -archlinux_patches=( -) -for archlinux_patch in ${archlinux_patches[@]} ; do - archlinux_patch_name="${PN}-1.8.0-${archlinux_patch}" - SRC_URI+=" - ${archlinux_uri}/${archlinux_patch} - -> ${archlinux_patch_name} - " - PATCHES+=( "${DISTDIR}/${archlinux_patch_name}" ) -done - -pkg_setup() { - check-reqs_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - local -a tounpack=( ${A} ) - # the main source tree, followed by deps - unpack "${tounpack[0]}" - - mkdir -p "${S}/deps/srccache/" - local i - for i in "${tounpack[@]:1}"; do - cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die - done - - # Extract tarballs for patching. - # cd "${S}/deps/srccache/" || die - # tar xf llvm-julia-${MY_LLVM_V}-3.tar.gz || die -} - -src_prepare() { - default - - # Various LTO issues. - # https://bugs.gentoo.org/855602 - filter-lto - - # 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 - - # Blank the tarball checksum check script. - echo "#!/bin/sh" > deps/tools/jlchecksum || die - - # Repack tarballs. - # cd "${S}/deps/srccache/" || die - # tar czf llvm-julia-${MY_LLVM_V}-3.tar.gz JuliaLang-llvm-project-* || die -} - -src_configure() { - # julia does not play well with the system versions of libuv - # Fails to compile with libpcre2 on split-usr, bug #893336 - # 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_INTEL_JITEVENTS=0 - USE_SYSTEM_CSL:=1 - USE_SYSTEM_LLVM:=0 - USE_SYSTEM_LIBUNWIND:=1 - USE_SYSTEM_PCRE:=0 - USE_SYSTEM_LIBM:=0 - USE_SYSTEM_OPENLIBM:=1 - USE_SYSTEM_DSFMT:=1 - USE_SYSTEM_BLAS:=1 - USE_SYSTEM_LAPACK:=1 - USE_SYSTEM_LIBBLASTRAMPOLINE:=0 - USE_SYSTEM_GMP:=1 - USE_SYSTEM_MPFR:=1 - USE_SYSTEM_LIBSUITESPARSE:=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 - - emake - pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" -} - -src_install() { - emake -j1 install DESTDIR="${D}" - dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md - - local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) - cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - - 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 - - # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 - dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem - - # Julia always searches for "sys.so" inside "/usr/lib/julia", - # bug: https://github.com/JuliaLang/julia/issues/49574 - if [[ $(get_libdir) == "lib64" ]] ; then - insinto /usr/lib/julia - doins "${ED}"/usr/$(get_libdir)/julia/sys.so - fi -} - -pkg_postinst() { - optfeature "Julia Plots" sci-visualization/gr -} diff --git a/dev-lang/julia/julia-1.9.4-r1.ebuild b/dev-lang/julia/julia-1.9.4-r1.ebuild new file mode 100644 index 000000000000..a7a7d1a0cbea --- /dev/null +++ b/dev-lang/julia/julia-1.9.4-r1.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# correct versions for stdlibs are in deps/checksums +# for everything else, run with network-sandbox and wait for the crash + +EAPI=8 + +MY_LLVM_V=14.0.6 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="https://julialang.org/ + https://github.com/JuliaLang/julia/" +SRC_URI=" + https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz +" + +LICENSE="MIT" +SLOT="0" +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND=" + >=dev-libs/libutf8proc-2.6.1:0=[-cjk] + >=dev-util/patchelf-0.13 + >=net-libs/mbedtls-2.2:0= + >=sci-mathematics/dsfmt-2.2.4 + >=sys-libs/libunwind-1.1:0= + >=virtual/blas-3.6 + app-arch/p7zip + app-misc/ca-certificates + dev-libs/gmp:0= + dev-libs/libgit2:0 + dev-libs/mpfr:0= + 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/openblas:0= + sci-libs/spqr:0= + sci-libs/umfpack:0= + sys-libs/zlib:0= + virtual/lapack +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + virtual/pkgconfig +" + +CHECKREQS_DISK_BUILD="4G" +# Avoid building ocaml binding with LLVM_ENABLE_BINDINGS=OFF #47862 (merged upstream but not yet for 1.9.4) +PATCHES=( + "${FILESDIR}"/julia-1.8.0-llvm-no-bindings.patch + "${FILESDIR}"/julia-1.9.4-no-doc-install.patch + "${FILESDIR}"/julia-1.9.4-string-replace.patch + ) +QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. + +pkg_setup() { + check-reqs_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + local -a tounpack=( ${A} ) + # the main source tree, followed by deps + unpack "${tounpack[0]}" + + mkdir -p "${S}/deps/srccache/" + local i + for i in "${tounpack[@]:1}"; do + cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die + done + + # Extract tarballs for patching. + # cd "${S}/deps/srccache/" || die + # tar xf llvm-julia-${MY_LLVM_V}-3.tar.gz || die +} + +src_prepare() { + default + + # Various LTO issues. + # https://bugs.gentoo.org/855602 + filter-lto + + # 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 + + # Blank the tarball checksum check script. + echo "#!/bin/sh" > deps/tools/jlchecksum || die +} + +src_configure() { + # julia does not play well with the system versions of libuv + # Fails to compile with libpcre2 on split-usr, bug #893336 + # 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_INTEL_JITEVENTS=0 + USE_SYSTEM_CSL:=1 + USE_SYSTEM_LLVM:=0 + USE_SYSTEM_LIBUNWIND:=1 + USE_SYSTEM_PCRE:=0 + USE_SYSTEM_LIBM:=0 + USE_SYSTEM_OPENLIBM:=1 + USE_SYSTEM_DSFMT:=1 + USE_SYSTEM_BLAS:=1 + USE_SYSTEM_LAPACK:=1 + USE_SYSTEM_LIBBLASTRAMPOLINE:=0 + USE_SYSTEM_GMP:=1 + USE_SYSTEM_MPFR:=1 + USE_SYSTEM_LIBSUITESPARSE:=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 + + # Julia expects .so files to be in lib64 during compilation + mkdir -p "${S}"/usr/lib + ln -s lib "${S}"/usr/lib64 + + emake + pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" +} + +src_install() { + emake -j1 install DESTDIR="${D}" + dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md + + local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) + cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die + + 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 + + # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 + dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem + + # Julia always searches for "sys.so" inside "/usr/lib/julia", + # bug: https://github.com/JuliaLang/julia/issues/49574 + if [[ $(get_libdir) == "lib64" ]] ; then + insinto /usr/lib/julia + doins "${ED}"/usr/$(get_libdir)/julia/sys.so + fi +} + +pkg_postinst() { + optfeature "Julia Plots" sci-visualization/gr +} diff --git a/dev-lang/julia/julia-1.9.4.ebuild b/dev-lang/julia/julia-1.9.4.ebuild deleted file mode 100644 index 9a747305e8d0..000000000000 --- a/dev-lang/julia/julia-1.9.4.ebuild +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# correct versions for stdlibs are in deps/checksums -# for everything else, run with network-sandbox and wait for the crash - -EAPI=8 - -MY_LLVM_V=14.0.6 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit check-reqs flag-o-matic optfeature pax-utils python-any-r1 toolchain-funcs - -DESCRIPTION="High-performance programming language for technical computing" -HOMEPAGE="https://julialang.org/ - https://github.com/JuliaLang/julia/" -SRC_URI=" - https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz -" - -LICENSE="MIT" -SLOT="0" -PROPERTIES="test_network" -RESTRICT="test" - -RDEPEND=" - >=dev-libs/libutf8proc-2.6.1:0=[-cjk] - >=dev-util/patchelf-0.13 - >=net-libs/mbedtls-2.2 - >=sci-mathematics/dsfmt-2.2.4 - >=sys-libs/libunwind-1.1:0= - >=virtual/blas-3.6 - app-arch/p7zip - app-misc/ca-certificates - dev-libs/gmp:0= - dev-libs/libgit2:0 - dev-libs/mpfr:0= - 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/openblas:0= - sci-libs/spqr:0= - sci-libs/umfpack:0= - sys-libs/zlib:0= - virtual/lapack -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-build/cmake - virtual/pkgconfig -" - -CHECKREQS_DISK_BUILD="4G" -# Avoid building ocaml binding with LLVM_ENABLE_BINDINGS=OFF #47862 (merged upstream but not yet for 1.9.4) -PATCHES=( - "${FILESDIR}"/julia-1.8.0-llvm-no-bindings.patch - "${FILESDIR}"/julia-1.9.4-no-doc-install.patch - "${FILESDIR}"/julia-1.9.4-string-replace.patch - ) -QA_FLAGS_IGNORED+='usr/.*/julia/sys.so' # Julia sysimage generated by bootstrapping. - -pkg_setup() { - check-reqs_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - local -a tounpack=( ${A} ) - # the main source tree, followed by deps - unpack "${tounpack[0]}" - - mkdir -p "${S}/deps/srccache/" - local i - for i in "${tounpack[@]:1}"; do - cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die - done - - # Extract tarballs for patching. - # cd "${S}/deps/srccache/" || die - # tar xf llvm-julia-${MY_LLVM_V}-3.tar.gz || die -} - -src_prepare() { - default - - # Various LTO issues. - # https://bugs.gentoo.org/855602 - filter-lto - - # 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 - - # Blank the tarball checksum check script. - echo "#!/bin/sh" > deps/tools/jlchecksum || die -} - -src_configure() { - # julia does not play well with the system versions of libuv - # Fails to compile with libpcre2 on split-usr, bug #893336 - # 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_INTEL_JITEVENTS=0 - USE_SYSTEM_CSL:=1 - USE_SYSTEM_LLVM:=0 - USE_SYSTEM_LIBUNWIND:=1 - USE_SYSTEM_PCRE:=0 - USE_SYSTEM_LIBM:=0 - USE_SYSTEM_OPENLIBM:=1 - USE_SYSTEM_DSFMT:=1 - USE_SYSTEM_BLAS:=1 - USE_SYSTEM_LAPACK:=1 - USE_SYSTEM_LIBBLASTRAMPOLINE:=0 - USE_SYSTEM_GMP:=1 - USE_SYSTEM_MPFR:=1 - USE_SYSTEM_LIBSUITESPARSE:=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 - - # Julia expects .so files to be in lib64 during compilation - mkdir -p "${S}"/usr/lib - ln -s lib "${S}"/usr/lib64 - - emake - pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" -} - -src_install() { - emake -j1 install DESTDIR="${D}" - dodoc CONTRIBUTING.md HISTORY.md NEWS.md README.md THIRDPARTY.md - - local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) - cp "${S}"/usr/lib/libLLVM-${llvmslot}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - cp "${S}"/usr/lib/libLLVM-${MY_LLVM_V}jl.so "${ED}"/usr/$(get_libdir)/julia/ || die - - 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 - - # Link ca-certificates.crt, bug: https://bugs.gentoo.org/888978 - dosym -r /etc/ssl/certs/ca-certificates.crt /usr/share/julia/cert.pem - - # Julia always searches for "sys.so" inside "/usr/lib/julia", - # bug: https://github.com/JuliaLang/julia/issues/49574 - if [[ $(get_libdir) == "lib64" ]] ; then - insinto /usr/lib/julia - doins "${ED}"/usr/$(get_libdir)/julia/sys.so - fi -} - -pkg_postinst() { - optfeature "Julia Plots" sci-visualization/gr -} -- cgit v1.2.3