commit:     36c30e8b89b94866b4205376b1bbf6702247e33e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 28 15:00:50 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 28 15:00:50 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36c30e8b

llvm-core/flang: Add 21.0.0_pre20250628 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-core/flang/Manifest                        |  1 +
 llvm-core/flang/flang-21.0.0_pre20250628.ebuild | 98 +++++++++++++++++++++++++
 2 files changed, 99 insertions(+)

diff --git a/llvm-core/flang/Manifest b/llvm-core/flang/Manifest
index 714b2253d6fa..e712fc2c878c 100644
--- a/llvm-core/flang/Manifest
+++ b/llvm-core/flang/Manifest
@@ -1 +1,2 @@
 DIST llvm-project-814ac2e3735e52c1162ac495c24158e0ac256520.tar.gz 237400805 
BLAKE2B 
59cbf2f7f5c3c1c2c187c72a40b94b05b2d3286678f78764bc7555d75ead40d2fd60b1807bbe6470f012a5958d0466b1f6b2bc842bba36731e7697a79307532b
 SHA512 
63f31f28b7f01b840d88bfa3ffc4107ccffc623b26c7d0dc3e720a864ce7ca907dcbdcfaec7e31a1711220528a89175334518711a83824c82389343c2e4008d7
+DIST llvm-project-e34e02128ec5eb89e36a8f0f7307dcbcfecabbee.tar.gz 238210997 
BLAKE2B 
80ce4689e3c71a413e36645cdc83590f3492ac3ee39b8bf8844ec50d0b68f40da4c19a7f284625e3550eb78a90d433e74092b5639bcebadf0e0220c36b111cb3
 SHA512 
5c1ab21b242d1ba62172ae6268a126fd1b049f85b039434b4ff28b0411ec60d46e96e05560b9b85d0420494afdd573b4043999cb34ace508a48f763d4eb5b7aa

diff --git a/llvm-core/flang/flang-21.0.0_pre20250628.ebuild 
b/llvm-core/flang/flang-21.0.0_pre20250628.ebuild
new file mode 100644
index 000000000000..8faa9c45706c
--- /dev/null
+++ b/llvm-core/flang/flang-21.0.0_pre20250628.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 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.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)
+       )
+       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
+}

Reply via email to