summaryrefslogtreecommitdiff
path: root/dev-ml
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-02-21 21:39:19 +0100
committerMichał Górny <mgorny@gentoo.org>2024-02-22 05:22:54 +0100
commit1d3def02bbc638c14af93401501ddf8d45d63d7b (patch)
treed48eda008d5e2e92a4bba2626feaa1729e393619 /dev-ml
parentsys-devel/llvm: Add 18.1.0_rc3 (diff)
downloadgentoo-1d3def02bbc638c14af93401501ddf8d45d63d7b.tar.gz
gentoo-1d3def02bbc638c14af93401501ddf8d45d63d7b.tar.bz2
gentoo-1d3def02bbc638c14af93401501ddf8d45d63d7b.zip
dev-ml/llvm-ocaml: Add 18.1.0_rc3
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-ml')
-rw-r--r--dev-ml/llvm-ocaml/Manifest2
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-18.1.0_rc3.ebuild107
2 files changed, 109 insertions, 0 deletions
diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
index 43c0a4f8c567..6a1f511c358d 100644
--- a/dev-ml/llvm-ocaml/Manifest
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -6,5 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.0rc2.src.tar.xz 131993176 BLAKE2B 8df1e34a54214975efe1b9a649753a2dc20c04e3c763bd8648000f48dd18f27ccfdc597ff6e68e0f408310493dfa92f48c7eee53376501e8ebc3b7c614809c15 SHA512 b595bb5d029723fee4e8f8edeaddd6fdcd48d668f66f4239e3208fd19d3a3622e8e4f90ae3fa4b1216fca1621d6c6b6ebf4d99dec7febff2457d0ceb79e8617a
DIST llvm-project-18.1.0rc2.src.tar.xz.sig 566 BLAKE2B c765549386a92883bd348d9be25a3c92b1e66a1bac71385ef99978ec2af413a7616a2d9699c57554d927f95b80a3584572557d26e3df16b2ff6678359d5fd6b0 SHA512 83bb4c133f34faec8a0109689ed7aa18222c9a803ba8c95c571a18e854726024f106a1c8e3a820020255c426b7fa8bda26789ff1546972e233fbe3e3ab3a8e91
+DIST llvm-project-18.1.0rc3.src.tar.xz 132011280 BLAKE2B 482a0e1b806292598bd646f225705140a463706ec391e4e42f203606b85673601a65fe55f2432d77f4c2f4c6584b35e53eeaded42e0b67aa6538c37d7cceb4ff SHA512 6c0adcf6e4057de8fb1dcd062845d14d725833d23d8e1362cbccab176931f55600a3971f01690179b795ff3feca0af9141b16dee4d4159755596cc9c904bf099
+DIST llvm-project-18.1.0rc3.src.tar.xz.sig 566 BLAKE2B dac9c174e2eeda5e0af0153d78a2e9c8f145efe03250582a27df1bd6a89ba70afdcfa1ed6aa46adb1f7f21077cadb6e43963758358ff17122c36781ee4018c05 SHA512 91a2778f9b66bc80172172f36d6027fb2455f3ffd03b06ad0dd376471c4d4e2e34c8bee69c76cfe95003ae34f0d28c394c7d135fbbb75686ff89aee56b6c45c3
DIST llvm-project-3496927edcd0685807351ba88a7e2cfb006e1c0d.tar.gz 206227842 BLAKE2B cd27e9e9bca3622c2241bfa91c78eb8443df7465c1efcec57d5e701e2c61d3b2d3619483199e67b56deed9410f5382fc3164cdc7e864dcd77f4d12f3f9d2b159 SHA512 156d441074aff4d85af956b9abf89f9aefccccbe5b39e315c9c7c249ad01f95b42a303c23e9142292e7746f691c2ee704a7cd4a60916594ea1d468240c9b8152
DIST llvm-project-8884ba43a8485bebef5c4d41e7ed457e3fa84f07.tar.gz 205853916 BLAKE2B 115809efbf062ced32ffe61b25e65e44a0b3c293f68bf40fc4d9e596cd077fc4781a059ad24c4dc7a139c6ec884a6a183ebac06535f2498116266695e19daf00 SHA512 cb496111ec72163a1872fa9a14f8963108d3185f4464a74cc45d26ccc5071bc36895618b81c29063cde0564a50017a0194da4dc559a046a12550d9ab0d9b8347
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-18.1.0_rc3.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-18.1.0_rc3.ebuild
new file mode 100644
index 000000000000..879c30db0807
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-18.1.0_rc3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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:=
+ ~sys-devel/llvm-${PV}:=[debug?]
+ !sys-devel/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
+}