commit: a3a54b1192f2baf664785722160741da7116d231
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 17 05:59:24 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 17 05:59:24 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3a54b11
dev-ml/llvm: Bump to 22.1.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-ml/llvm/Manifest | 2 +
dev-ml/llvm/llvm-22.1.0_rc1.ebuild | 107 +++++++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+)
diff --git a/dev-ml/llvm/Manifest b/dev-ml/llvm/Manifest
index 111b7e0495d3..c87f7383113e 100644
--- a/dev-ml/llvm/Manifest
+++ b/dev-ml/llvm/Manifest
@@ -13,5 +13,7 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B
7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B
85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4
SHA512
d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B
0d3d4ee920f8e5db50e98152616f16004c74df0e7313cc86d893428fb7b1c875109988a5e40ea6f2e5d0fef53c7bfe2fc2b69e84807f6eb440b03afa1b228a36
SHA512
cae4c44e7bf678071723da63ad5839491d717a7233e7f4791aa408207f3ea42f52de939ad15189b112c02a0770f1bb8d59bae6ad31ef53417a6eea7770fe52ab
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B
cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d
SHA512
10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
+DIST llvm-project-22.1.0-rc1.src.tar.xz 166976000 BLAKE2B
eec2cf8822aa6937c751d94f07c6505a3cebda83c544299ff8eaeeedbadc36054b32fb1a0b655993bd604f9c82ac6fa419e974b1dc9c3f4b6c35aa94e9f4e929
SHA512
545ca31b2a24cab3d3a8d5ebfa2a25439eab4258cef01b53706a7a9e5174a75050fb3d36ad2ac4ebb9a23e34a005707c73383cd3cddd78f6789f5b1d4d446e7c
+DIST llvm-project-22.1.0-rc1.src.tar.xz.sig 119 BLAKE2B
e3d5a6c00d7960b0694919ff083e02f0273e97da6a40ad452fbb8261b9edfc52d4262733d82a59f03ad7d15b3b62de743b37a1b2e191417443ecb730520be376
SHA512
51326b9402d7719c491ac5c6ab80a678896743dd88e3f997245adb77e7b3f5e0f84f6389c75872aea268de8a7a049684c84cdf575c1f19c4971bb280a9374de6
DIST llvm-project-85c3c83ae54c9e81924f1ca048cfddc8d36bbb02.tar.gz 258189384
BLAKE2B
d7a0c36511c17e8dacef27701abcda316902ac17325c63f79e33366efc783e0ab53d62d71c92e2e49457db095d9e8fec0bcabf1a8056a95d25eb976bdd5ba15f
SHA512
a8a9ea91b4181005fb6385afff7681fdfc5a46e05aba216add29216a6dcb70cc667d1d300ee85be75997a963193e8e015917401def27d5759ff774f0fa00b527
DIST llvm-project-b01c3d6682d2fa5d6ac22d5a964b739009e9db7b.tar.gz 256801517
BLAKE2B
dbdcaed7e0e06a673730c53c64c988add905b2679695ca0cf09db8b28f59eedd5455f4a0ad5a3d672e4f6601d7480775ef8fc405dc1e60c75b425382410e59cf
SHA512
3afa29dac2f9b22e6af4b1783bae0bc7507a1a8ca397e88fd6687cbd9620df54525b2b9115906b80e9d1dcd16e0704a5a90eaa6cf0fa3d7f89d3d60f7d8ee19f
diff --git a/dev-ml/llvm/llvm-22.1.0_rc1.ebuild
b/dev-ml/llvm/llvm-22.1.0_rc1.ebuild
new file mode 100644
index 000000000000..5c565c61eef2
--- /dev/null
+++ b/dev-ml/llvm/llvm-22.1.0_rc1.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
+}