summaryrefslogtreecommitdiff
path: root/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-12 01:49:51 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-12 01:49:51 +0000
commitef0fedb39c21a343a3f316726f272bad9005b22c (patch)
tree0d64e58453e117f61a9e1641532926278f51b72e /llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild
parentcf7807d7aea23a99a144afceaba961cfed652b5f (diff)
gentoo auto-resync : 12:03:2025 - 01:49:51HEADnextmaster
Diffstat (limited to 'llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild')
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild72
1 files changed, 72 insertions, 0 deletions
diff --git a/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild b/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild
new file mode 100644
index 000000000000..30245857a84e
--- /dev/null
+++ b/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic llvm.org
+
+DESCRIPTION="LLVM's Fortran runtime"
+HOMEPAGE="https://flang.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions"
+SLOT="${LLVM_MAJOR}"
+IUSE="+debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<llvm-core/flang-21.0.0_pre20250221-r1
+"
+BDEPEND="
+ llvm-core/llvm:${LLVM_MAJOR}
+ llvm-core/flang
+ test? (
+ dev-python/lit
+ )
+"
+
+LLVM_COMPONENTS=(
+ runtimes flang-rt cmake flang llvm/{cmake,utils/llvm-lit}
+)
+llvm.org_set_globals
+
+src_configure() {
+ # the code is not portable
+ local -x FC=flang F77=flang
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ # we may not have a runtime yet
+ -DCMAKE_Fortran_COMPILER_WORKS=TRUE
+
+ -DLLVM_ENABLE_RUNTIMES="flang-rt"
+ # this package forces NO_DEFAULT_PATHS
+ -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DFLANG_RT_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-rt
+}
+
+src_install() {
+ cmake_src_install
+
+ # in standalone build, the library is installed to (incorrect) resource dir
+ # but the driver only looks for it in lib (sigh)
+ # https://github.com/llvm/llvm-project/issues/127538
+ mkdir -p "${ED}/usr/lib/llvm/${LLVM_MAJOR}" || die
+ mv "${ED}/usr/$(get_libdir)/clang/${LLVM_MAJOR}/lib"/* \
+ "${ED}/usr/lib/llvm/${LLVM_MAJOR}/lib" || die
+}