diff --git a/llvm-core/flang/Manifest b/llvm-core/flang/Manifest index 42563e4ee7098..5ca45e871c3de 100644 --- a/llvm-core/flang/Manifest +++ b/llvm-core/flang/Manifest @@ -3,3 +3,4 @@ DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856 DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb2c25fd073cb5689663d6ccd5a9e4e1743d6d80822360d59b64bff7b4d7872a68a79e899bf2f75f384e55c7d313a79243576f03 SHA512 2615b20ba08534f83ab8ecc7b5ba43b5f1dfcf9cdb2534a32fcdbf0ccdd9a008b46276e45ef26ed9377f65b5e4ae89ea798f3863fd034484b5715140f3a7b35c DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-43ccdbc84774da0ae4cb5131f2245a9633d977b9.tar.gz 276747748 BLAKE2B 874e5d95e8f3a8401ec989f093095be6203fa77c9729ef66981a13cbff91e6937a9925257f051650c820ea82f6ab8c03884a5a3599e2b450bed11b95c54cc440 SHA512 a84e2f97abc92bdf4da8a00cc89f22d28adef44b316f02992708ee2ebb78f0d4ce38254389a1408caa4b0846134af47ca4bccbfe987f014fefe439495bed3848 +DIST llvm-project-ce6af707aac85db6e176ad0faa3bfe608e1a68f5.tar.gz 277486383 BLAKE2B 03b4df53f1605e4cbe2a8b23a875b78f1336c5b0212d5e9591bf8f898abf0d947f8ff4551b2c9c0044fa18da1dd98e4ded4fe6ce7cb56df17e6cf9c1912afafe SHA512 5be1db6b9cabeed3b7db4c94c7dc06b5fac0dd5f4225a8dd06792494a0ca1dce45959b03e342edf2bce076fd19de81aa6f1451eda09047532e61546cf1f8d283 diff --git a/llvm-core/flang/flang-23.0.0_pre20260716.ebuild b/llvm-core/flang/flang-23.0.0_pre20260716.ebuild new file mode 100644 index 0000000000000..7c1b7bbf7544c --- /dev/null +++ b/llvm-core/flang/flang-23.0.0_pre20260716.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="LLVM's Fortran frontend" +HOMEPAGE="https://flang.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+clang +debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/clang-${PV}[debug=] + ~llvm-core/llvm-${PV}[debug=] + ~llvm-core/mlir-${PV}[debug=] +" +RDEPEND=" + ${DEPEND} +" +PDEPEND=" + >=llvm-runtimes/flang-rt-${PV}:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( llvm-core/clang ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( flang cmake ) +LLVM_TEST_COMPONENTS=( clang/test/Driver mlir/test/lib ) +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && tc-is-gcc; then + ewarn "Building using GCC requires lots of memory (up to 10 GiB per process)." + ewarn "Consider enabling USE=clang." + ewarn "See https://gcc.gnu.org/PR119705" + fi +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + if use clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DCLANG_RESOURCE_DIR="../../../clang/${LLVM_MAJOR}" + + -DBUILD_SHARED_LIBS=OFF + -DMLIR_LINK_MLIR_DYLIB=ON + # flang does not feature a dylib, so do not install libraries + # or headers + -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON + # installed by llvm-runtimes/flang-rt + -DFLANG_INCLUDE_RUNTIME=OFF + + # TODO: always enable to obtain reproducible tools + -DFLANG_INCLUDE_TESTS=$(usex test) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-flang +}