summaryrefslogtreecommitdiff
path: root/dev-ml/llvm-ocaml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-04 11:51:15 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-04 11:51:15 +0100
commit713e25c0c3d1e5434ac60ec0549708ec2f744bb4 (patch)
tree9e9281ff07875c667fb3bf223166de68137f4635 /dev-ml/llvm-ocaml
parent08b4047e14c989cfb931eff95973837f54ccc9e1 (diff)
gentoo auto-resync : 04:10:2023 - 11:51:15
Diffstat (limited to 'dev-ml/llvm-ocaml')
-rw-r--r--dev-ml/llvm-ocaml/Manifest3
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-17.0.2.ebuild112
2 files changed, 115 insertions, 0 deletions
diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
index 1056e3fda303..6cd08c8b2110 100644
--- a/dev-ml/llvm-ocaml/Manifest
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -6,6 +6,8 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.1.src.tar.xz 127830376 BLAKE2B bb3b9f7358df9006307f5eeccfc5c5ee5497498c4f091347924911cb6534e8d930024c35387456af24bf647d9e24a3d927aa49199036fb475018a610b5d792c7 SHA512 6fc1d5ff4fec49ef5bb495ba9d8f9ee9052c10999ec9d3ac8f825c718e3cdd64abd95408c4e5bb7f67eb9a7bfac9e26d2a949c4da9f163b5646c02e8a670ead5
DIST llvm-project-17.0.1.src.tar.xz.sig 438 BLAKE2B 3182e3c3a48635fdec39b945ee3b782d7c9c2a07911d9ede2e3421031bb1b4959bd495c5e39d094aeaf555579b9fe3eb834c1449077c154c629f5db605375e7c SHA512 301a6e6c46d6fee13c86dec1a021c35f6bf3a97e5d6b0aa7b7eac34e7ca52f6cefffc25a9e376250b1eb721a65a5852f2f1948abd432698363a81dd7ee19d81c
+DIST llvm-project-17.0.2.src.tar.xz 127833708 BLAKE2B fa9e2e48ce1117063f5cef0aeef85ce84b99bd8fae23022572a6f016eff2ffbf8aab6250b0bdb6e0bbea1c4daf10cecceb18e80496260b5aa81086075d503e12 SHA512 4586224c3f547e8065fa4f0ca3629a1dfed868dfc372ab192d8b9384f0f74dc8cb27dcb6269dc4230202e6a524aae852d98b40fa02ed0393086a162387ea7659
+DIST llvm-project-17.0.2.src.tar.xz.sig 438 BLAKE2B 3ba5d7a09e9de3f38a6f7b5b771b08b1c4e96ea7eda948cfa679598d240fa5211fd37220fbe09e37682212b17fb71b8b5539475edb8ff46d9767054983f670cb SHA512 234276813e3f4b5ee9b1dc640a613fd2e60f1d659f4e089733278d08dd0e208ad37d4d64c9e1edd420b6b87e112458ecec5f76ed9a243c3023b0adbab19ab909
DIST llvm-project-39fec5457c0925bd39f67f63fe17391584e08258.tar.gz 198361956 BLAKE2B 001b9d9b7997762dcce4f0b1deb94d41c3d840c178ba1e92208782e7e21fdc0041cde359051b2b1b1fc75526ff6504d3b9375ff873831350de359530c944a961 SHA512 b560e71c9855aff9fb5385f9fb30f63fbef074fd695e7cb31847192837a161bfe4808ceb09c514a676ae817616f15fb5a57d325aa9744eaac46b8f4b20b77a13
DIST llvm-project-f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3.tar.gz 198113948 BLAKE2B 1688920eb790421f4143e92bd7bd26794a2497e7b445dde6d55b59c9df4b1aebb848833c7cb1b7c273c5e002763f2531a341313500ce207242f992dfe343b988 SHA512 9817e8b7adf7c69d673124e8334c3e511dfd1cc386832c52b2fb0f2517475d29cd98513ad87188a962f9697dfac39ea03f5b2db6c549c307cf3d27b1370ffdf3
EBUILD llvm-ocaml-14.0.6.ebuild 2594 BLAKE2B 40fea3429bbf2e22f45598a679d9e5c6fa06343081a3a0a7c238bcbc8c3f270fea924ad57cab4f580adef66fe269eec188e6ed9f46772907063267805b7b51c7 SHA512 da649915c4804091ac68d9011a2370560f71e88952d13975a5f882e2c485d561fa0a5a43c61dd48f196534eae1e10aa6e46a9a9f6959d998ca850128c75a2615
@@ -13,6 +15,7 @@ EBUILD llvm-ocaml-15.0.7.ebuild 2598 BLAKE2B 22f3c86bea3a17027f4513685ddb9077800
EBUILD llvm-ocaml-16.0.6.ebuild 2533 BLAKE2B 598e42d89fce0b0a85a01b41166de25343dd6da9a6b422ff9f35f0cf515b759f85a180c25108df9ffbd8b773daad310851f05a11489e0af423c13a09b16c4585 SHA512 10809b6cdc64d70d9976a694123102de10804f65a5a9ea1e051638929c31e343f64388340307b500acd760ebbc2187ac6340336c39d6ae1280c34c5de5ce386d
EBUILD llvm-ocaml-17.0.1.ebuild 2533 BLAKE2B 598e42d89fce0b0a85a01b41166de25343dd6da9a6b422ff9f35f0cf515b759f85a180c25108df9ffbd8b773daad310851f05a11489e0af423c13a09b16c4585 SHA512 10809b6cdc64d70d9976a694123102de10804f65a5a9ea1e051638929c31e343f64388340307b500acd760ebbc2187ac6340336c39d6ae1280c34c5de5ce386d
EBUILD llvm-ocaml-17.0.2.9999.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
+EBUILD llvm-ocaml-17.0.2.ebuild 2533 BLAKE2B 598e42d89fce0b0a85a01b41166de25343dd6da9a6b422ff9f35f0cf515b759f85a180c25108df9ffbd8b773daad310851f05a11489e0af423c13a09b16c4585 SHA512 10809b6cdc64d70d9976a694123102de10804f65a5a9ea1e051638929c31e343f64388340307b500acd760ebbc2187ac6340336c39d6ae1280c34c5de5ce386d
EBUILD llvm-ocaml-18.0.0.9999.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
EBUILD llvm-ocaml-18.0.0_pre20230925.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
EBUILD llvm-ocaml-18.0.0_pre20231002.ebuild 2518 BLAKE2B 73efb3edd502e713d1ed57d5387532ed7b4dd10831b705339eecd8c5df936ee31ff02f877ad36e0b30564f9837ec8c9535bfcbfc41af01ccaae1e4149e5a574e SHA512 42f7cbba2c706ae1c8198d1e2c1ef4771baa631d2cae65ce957c7ad726a7c43d79ce278c39813781ac72ee7c527543514c1b895b5db24f172893b8796210877f
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-17.0.2.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-17.0.2.ebuild
new file mode 100644
index 000000000000..a496042b570e
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-17.0.2.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="~amd64 ~arm ~x86"
+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
+}