From 7baaa9fc28cb45ec7a72b3034bbef90b9aaf2eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 1 Apr 2026 18:27:02 +0200 Subject: [PATCH] dev-ml/llvm: Add 23.0.0_pre20260331 snapshot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-ml/llvm/Manifest | 1 + dev-ml/llvm/llvm-23.0.0_pre20260331.ebuild | 107 +++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 dev-ml/llvm/llvm-23.0.0_pre20260331.ebuild diff --git a/dev-ml/llvm/Manifest b/dev-ml/llvm/Manifest index 1251cda9c94b8..99d6723b717e1 100644 --- a/dev-ml/llvm/Manifest +++ b/dev-ml/llvm/Manifest @@ -14,4 +14,5 @@ DIST llvm-project-22.1.0.src.tar.xz 167040408 BLAKE2B c5e9971dd17f4b0508b85c9f24 DIST llvm-project-22.1.0.src.tar.xz.sig 119 BLAKE2B d3190d9dbacedf9de0c6b3d5c7711ae3c57dd4dc8cd136bc27fe4901253ffbd6d21060c046d7bf69d3a9489b5704ab5337e6d26da8236966c609b2d0eb54db97 SHA512 6145bf769640a9c6546cb63fa82450b2985ab74b2180a735f709ed909998cfbc6781116354b8b819cefa0e87cd11d470ecc64cd758b4a703aa10ee7880315f42 DIST llvm-project-22.1.2.src.tar.xz 167026580 BLAKE2B f838277e2bb47c273e8c709940aff5e21b88ad8216a4c6813d783f6041ac4b624c954bedd4c572c117d308ccafedca80ea95fcd73675c00ebfa998057e522f7b SHA512 d5adfbb8e5026b845f8251f5f490b4646ccd2ecaf81a2b80091d1c71044f5c7726f2df6680a95589f2dedc614bdd9cdd88febcce6d5fc92f638f616d503b8066 DIST llvm-project-22.1.2.src.tar.xz.sig 119 BLAKE2B 4ca084feb2d99ca6d763048244305408400fd9e1fb08a4314112d4d0318e4a2f3337858217c6d09fc136e0dd48f5bed7e88ecd3510116a3777dedec013f915f3 SHA512 dba272f935aa5ff3e93e538ac8877a79fdd3d2bf0efa61266c3caa85ac3aab167213a76759ed9531b539cdfd57c96a9c890807c4a04ba65a4d80b0c3dff044f2 +DIST llvm-project-af6521fb3a36149cd69d83bfdf87ed26e59a14a2.tar.gz 265801058 BLAKE2B 3bbaee50354a8c67f4ebfbcbd0ed5d8658af082602a821d1e6d716d0c2f2952c817d594a1d8f573f0b54176ad18b23742db07d6471c72cca6f1082038ea95419 SHA512 70d3b9f95a3a895450da1d77657108a70d4910f0d78c7310b340bed2a2571b0bf5631dee21e8b4c57ebfc756a9e44cc34c2b6a0ac5354a3d500fcfe198a25849 DIST llvm-project-df9eb79970c012990e829d174d181d575d414efe.tar.gz 265149781 BLAKE2B ab7a87dad369685fc26a054c065dee6ef2754b6446d5a6e15ed7f5bb52d7d433b519cac0522063ba222600f6f40dc40f7bf27930c74031cc40fff5372308a097 SHA512 7c63bf1360902e6a55c7f4c15d08a716d54476875744e6f40ec51157de6c18bf75d8fdb921f26831017151e87649bd1a48041e007edd9a0afc5e9f9066bfd79d diff --git a/dev-ml/llvm/llvm-23.0.0_pre20260331.ebuild b/dev-ml/llvm/llvm-23.0.0_pre20260331.ebuild new file mode 100644 index 0000000000000..5c565c61eef22 --- /dev/null +++ b/dev-ml/llvm/llvm-23.0.0_pre20260331.ebuild @@ -0,0 +1,107 @@ +# 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 llvm.org llvm-utils python-any-r1 + +DESCRIPTION="OCaml bindings for LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0/${PV}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/ocaml-4.00.0:0= + dev-ml/ocaml-ctypes:= + ~llvm-core/llvm-${PV}:=[debug?] + !llvm-core/llvm[ocaml(-)] +" + +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + dev-ml/findlib +" + +LLVM_COMPONENTS=( llvm cmake third-party ) +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_OCAML_OUT_OF_TREE=ON + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # disable various irrelevant deps and settings + -DLLVM_ENABLE_FFI=OFF + -DLLVM_ENABLE_TERMINFO=OFF + -DHAVE_HISTEDIT_H=NO + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DPython3_EXECUTABLE="${PYTHON}" + + # TODO: ocamldoc + ) + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + # also: custom rules for OCaml do not work for CPPFLAGS + use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG" + cmake_src_configure + + local llvm_libdir=$(llvm-config --libdir) + # an ugly hack; TODO: figure out a way to pass -L to ocaml... + cd "${BUILD_DIR}/${libdir}" || die + ln -s "${llvm_libdir}"/*.so . || die + + if use test; then + local llvm_bindir=$(llvm-config --bindir) + # Force using system-installed tools. + sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \ + "${BUILD_DIR}"/test/lit.site.cfg.py || die + fi +} + +src_compile() { + cmake_build ocaml_all +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-llvm-bindings-ocaml +} + +src_install() { + DESTDIR="${D}" \ + cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die + + dodoc bindings/ocaml/README.txt +}