From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1268852-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 6DAA713835B
	for <garchives@archives.gentoo.org>; Fri,  9 Apr 2021 11:46:41 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 3AD3CE090F;
	Fri,  9 Apr 2021 11:46:40 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id E1921E0905
	for <gentoo-commits@lists.gentoo.org>; Fri,  9 Apr 2021 11:46:39 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id B8C31335C7E
	for <gentoo-commits@lists.gentoo.org>; Fri,  9 Apr 2021 11:46:38 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id A6B3B648
	for <gentoo-commits@lists.gentoo.org>; Fri,  9 Apr 2021 11:46:35 +0000 (UTC)
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" <mgorny@gentoo.org>
Message-ID: <1617968606.d10bcadce6b0547b88cdba6d2c83c9f9120e6811.mgorny@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ml/llvm-ocaml/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-ml/llvm-ocaml/Manifest dev-ml/llvm-ocaml/llvm-ocaml-12.0.0_rc5.ebuild
X-VCS-Directories: dev-ml/llvm-ocaml/
X-VCS-Committer: mgorny
X-VCS-Committer-Name: Michał Górny
X-VCS-Revision: d10bcadce6b0547b88cdba6d2c83c9f9120e6811
X-VCS-Branch: master
Date: Fri,  9 Apr 2021 11:46:35 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 359b353c-8224-4af7-a645-c836dabbc44c
X-Archives-Hash: e40243e48d395c16f4260e735a1d2a3f

commit:     d10bcadce6b0547b88cdba6d2c83c9f9120e6811
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  9 10:29:07 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr  9 11:43:26 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d10bcadc

dev-ml/llvm-ocaml: Bump to 12.0.0-rc5

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-ml/llvm-ocaml/Manifest                     |   1 +
 dev-ml/llvm-ocaml/llvm-ocaml-12.0.0_rc5.ebuild | 124 +++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
index 61b8e259f34..5589711fdd1 100644
--- a/dev-ml/llvm-ocaml/Manifest
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -5,3 +5,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
 DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
 DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce
 DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846
+DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16

diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-12.0.0_rc5.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-12.0.0_rc5.ebuild
new file mode 100644
index 00000000000..3fc4ee845be
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-12.0.0_rc5.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	>=dev-lang/ocaml-4.00.0:0=
+	dev-ml/ocaml-ctypes:=
+	~sys-devel/llvm-${PV}:=[debug?]
+	!sys-devel/llvm[ocaml(-)]"
+for x in "${ALL_LLVM_TARGETS[@]}"; do
+	RDEPEND+="
+		${x}? ( ~sys-devel/llvm-${PV}[${x}] )"
+done
+unset x
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+	dev-lang/perl
+	dev-ml/findlib
+	>=dev-util/cmake-3.16
+	test? ( dev-ml/ounit2 )
+	${PYTHON_DEPS}"
+
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+pkg_setup() {
+	LLVM_MAX_SLOT=${PV%%.*} 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}"
+
+		# disable go bindings
+		-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+		# 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
+}