commit: 39372a4db9860d0d5fabdb3365bea4f720835734 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Sat Feb 15 15:41:51 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sat Feb 15 15:43:54 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39372a4d
llvm-core/flang: New package, 21.0.0.9999 Add a new live ebuild for Flang, the LLVM Fortran compiler. It mostly works, except that it can't find its own runtime library (missing -L) and fails a few tests (probably related to the above). Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> llvm-core/flang/flang-21.0.0.9999.ebuild | 63 ++++++++++++++++++++++++++++++++ llvm-core/flang/metadata.xml | 10 +++++ metadata/stabilization-groups/llvm.group | 1 + 3 files changed, 74 insertions(+) diff --git a/llvm-core/flang/flang-21.0.0.9999.ebuild b/llvm-core/flang/flang-21.0.0.9999.ebuild new file mode 100644 index 000000000000..e450d0105fb5 --- /dev/null +++ b/llvm-core/flang/flang-21.0.0.9999.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake llvm.org + +DESCRIPTION="LLVM's Fortran frontend" +HOMEPAGE="https://flang.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/clang-${PV}[debug=] + ~llvm-core/llvm-${PV}[debug=] + ~llvm-core/mlir-${PV}[debug=] +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/lit + ) +" + +LLVM_COMPONENTS=( flang cmake ) +LLVM_TEST_COMPONENTS=( mlir/test/lib ) +llvm.org_set_globals + +src_configure() { + 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 + + # 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 +} diff --git a/llvm-core/flang/metadata.xml b/llvm-core/flang/metadata.xml new file mode 100644 index 000000000000..072910296ca3 --- /dev/null +++ b/llvm-core/flang/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>[email protected]</email> + </maintainer> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> +</pkgmetadata> diff --git a/metadata/stabilization-groups/llvm.group b/metadata/stabilization-groups/llvm.group index 004abf04fd78..da4563d40bfd 100644 --- a/metadata/stabilization-groups/llvm.group +++ b/metadata/stabilization-groups/llvm.group @@ -8,6 +8,7 @@ llvm-core/mlir llvm-core/clang-common llvm-core/clang llvm-core/clang-toolchain-symlinks +llvm-core/flang dev-python/clang dev-python/lit llvm-core/lld
