summaryrefslogtreecommitdiff
path: root/dev-ml/llvm-ocaml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-20 15:41:38 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-20 15:41:38 +0100
commita597364520b9291d0b2a23bb007ced022e821d95 (patch)
treefbdb29d309a73a184394006e206a8d4362ccdad8 /dev-ml/llvm-ocaml
parent1def2e3dbbf3c86abad238d1118502cfe7f61f08 (diff)
gentoo auto-resync : 20:08:2023 - 15:41:38
Diffstat (limited to 'dev-ml/llvm-ocaml')
-rw-r--r--dev-ml/llvm-ocaml/Manifest2
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-18.0.0_pre20230820.ebuild112
2 files changed, 114 insertions, 0 deletions
diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
index 5fd10f31491c..e922f778dbfe 100644
--- a/dev-ml/llvm-ocaml/Manifest
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -10,6 +10,7 @@ DIST llvm-project-17.0.0rc2.src.tar.xz 127795160 BLAKE2B 58ed818f61e1cd179288d57
DIST llvm-project-17.0.0rc2.src.tar.xz.sig 438 BLAKE2B 55788eacc592729839dad581b507794f279d84cafcaa49785ae34e02931ee9d4f64caf9e251e280dbc8676f3cacdca52a22f36cf7282655a3fc0721a61c9f003 SHA512 141e1ba7eb9870c21b91060ca484316cc8a402d4e61c8312688023850070b255b0eebe2d10ef63925f7269ee1b347074440e1a9a18d37cb7e1b6c82a7d1a1710
DIST llvm-project-7d259b36d2e8148d13087844e6494ad3a5c63edf.tar.gz 195942450 BLAKE2B 3221cc070295edf4f70e5b24ed06cda29e8dd98d3d28ba5ac38b821fc313f7f7dfdc7ad500537c2244af0fa3d750174dfa1699db7f72a44df67e5fa255a3d0aa SHA512 9279290ab482f29af4a2205270038f1817608a63872e03340d43c31fcf5da36191269838912a1460455a8661295e664891d6d123018b12ddc80c2641790d0640
DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
+DIST llvm-project-fe42682e7818d44cbe19f98ef34caa4e414aa937.tar.gz 196564445 BLAKE2B 056e6622b38009e34392c1d1755086e008bc85e9b4c00126e7ca92ddaee2ede7f31bafbc6ca04c5008983ce843d19fb152d75ce01e6ece4c2d891cc38604532c SHA512 8245f8a50f77e9ac9c0309a0025fde8407bb82d82277e3edba0a995debff50940e9500d4ad65060a330e6c19e2e1332d700ea040ca382ef4b75282a4566cbf72
EBUILD llvm-ocaml-14.0.6.ebuild 2594 BLAKE2B 40fea3429bbf2e22f45598a679d9e5c6fa06343081a3a0a7c238bcbc8c3f270fea924ad57cab4f580adef66fe269eec188e6ed9f46772907063267805b7b51c7 SHA512 da649915c4804091ac68d9011a2370560f71e88952d13975a5f882e2c485d561fa0a5a43c61dd48f196534eae1e10aa6e46a9a9f6959d998ca850128c75a2615
EBUILD llvm-ocaml-15.0.7.ebuild 2598 BLAKE2B 22f3c86bea3a17027f4513685ddb9077800918dbe8dc74dd17e7d8ccfb729c11baf6eb60915d6795170d4dd5ee66b5c19d16653044a0ad7bb34f18161db06848 SHA512 04de6e60fc31644b6e99af4277f5300cdcee1f8e35f9038b490ed7841fd0c92e71bdaa423cdedbc5cccbd219e32857c8d1d0e09dfdfe4919b165ee73670efbfe
EBUILD llvm-ocaml-16.0.6.ebuild 2533 BLAKE2B 598e42d89fce0b0a85a01b41166de25343dd6da9a6b422ff9f35f0cf515b759f85a180c25108df9ffbd8b773daad310851f05a11489e0af423c13a09b16c4585 SHA512 10809b6cdc64d70d9976a694123102de10804f65a5a9ea1e051638929c31e343f64388340307b500acd760ebbc2187ac6340336c39d6ae1280c34c5de5ce386d
@@ -19,4 +20,5 @@ EBUILD llvm-ocaml-17.0.0_rc2.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532e
EBUILD llvm-ocaml-18.0.0.9999.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
EBUILD llvm-ocaml-18.0.0_pre20230803.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
EBUILD llvm-ocaml-18.0.0_pre20230810.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
+EBUILD llvm-ocaml-18.0.0_pre20230820.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-18.0.0_pre20230820.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-18.0.0_pre20230820.ebuild
new file mode 100644
index 000000000000..7499a8afc1dd
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-18.0.0_pre20230820.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS=""
+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
+ >=dev-util/cmake-3.16
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_USE_TARGETS=llvm
+llvm.org_set_globals
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ 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
+}