commit:     642e7282213bd5bda45eb4947f4baa7686bc9093
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 18:30:18 2022 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 18:30:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=642e7282

dev-ml/dune: add 3.0.3

includes dune-configurator

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-ml/dune/Manifest          |  1 +
 dev-ml/dune/dune-3.0.3.ebuild | 79 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)

diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
index 4700dffa36ef..bc194e8ffc95 100644
--- a/dev-ml/dune/Manifest
+++ b/dev-ml/dune/Manifest
@@ -1,3 +1,4 @@
 DIST dune-2.8.4.tar.gz 1372925 BLAKE2B 
5b6d6738a0dc701d852e6cc59a1998f64c006d233f43a804b0b9b677a6eadda25aa20f52799c90910d361e4bc565636a50d218ad5d0a9927239adc5be36b3889
 SHA512 
13b36eb6a943f9513987a23dab467b2e449cc3a4de35227f8323c3c724b27f19daac500602141ab22a04579243333c8484ce27a7f73e46a72e796d30fb1c3253
 DIST dune-2.9.1.tar.gz 1385381 BLAKE2B 
27224f803547d02f7110dcfc486ef41f9a4586f6f862ef7f8bbf05cc1f3f6dc8ea03fca99c01842f4226ea3d08f4127daa0e5811dd46cc00f1b96ad7eaafe43d
 SHA512 
4fcff34de4acc4429dd73864ca90e695d8ba436839fd679608f7db292e44be70c3db455a58f59477f2055f84ce497bfa8e90e485ed9536acad3c1b3be3d4be77
 DIST dune-2.9.3.tar.gz 1387667 BLAKE2B 
3db54c780b9d13f40c774f53c3fe471dba4a640e7cb5aa5d70ef1dc20a217b95a66149ca5f99f07f3a20450577d622e0cda149f656f06f5a42231b89667c1152
 SHA512 
df6e06a9beebf41f3ed375384be781b5c87c7949048995cc0bbad13dd65c96bd8b27415cd41e43b1112bd86524a59a7dd418e14b5c72b4f1f8fd4ac5ca2d1494
+DIST dune-3.0.3.tar.gz 1725788 BLAKE2B 
2de93c085f642c8381642a08b18bc21ad48097f32397b3eddab9725deb267b089849b649705e1b72bb1b5b37f7531fd9e0cfb134174f0cb3a8ee2595c7dcf8ce
 SHA512 
839e942bcf8189763d0d9b01614333bb2f036bce68c82959e51d2e9145b57067cb862b66781912391c1a0f531b8dddf2ffeafcee71c626169a437fe40feba155

diff --git a/dev-ml/dune/dune-3.0.3.ebuild b/dev-ml/dune/dune-3.0.3.ebuild
new file mode 100644
index 000000000000..d4b1683267dd
--- /dev/null
+++ b/dev-ml/dune/dune-3.0.3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing elisp-common
+
+DESCRIPTION="A composable build system for OCaml"
+HOMEPAGE="https://github.com/ocaml/dune";
+SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="emacs test"
+RESTRICT="strip !test? ( test )"
+
+RDEPEND="
+       >=dev-lang/ocaml-4.08:=
+       emacs? ( >=app-editors/emacs-23.1:* )
+       !<dev-ml/dune-configurator-3
+"
+DEPEND="
+       ${RDEPEND}
+       dev-ml/findlib
+       test? (
+               dev-ml/core_bench
+               dev-ml/ppx_bench
+               dev-ml/ppx_expect
+       )
+"
+
+QA_FLAGS_IGNORED="usr/bin/dune"
+
+BYTECOMPFLAGS="-L ${S}/editor-integration/emacs"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+       default
+
+       # This allows `dune --version` to output the correct version instead of 
"n/a"
+       sed -i "/^(name dune)/a (version ${PV})" dune-project || die
+       # This enables dune-configurator to use the vendored csexp module
+       sed -i 's/stdune.csexp/dune-configurator.csexp/' vendor/csexp/src/dune \
+               || die
+}
+
+src_configure() {
+       ./configure \
+               --libdir="$(ocamlc -where)" \
+               --mandir="/usr/share/man" \
+               || die
+}
+
+src_compile() {
+       ocaml bootstrap.ml -j $(makeopts_jobs) || die
+       ./dune.exe build -p "${PN}",dune-configurator --profile dune-bootstrap \
+               -j $(makeopts_jobs) \
+               --display short || die
+
+       use emacs && elisp-compile editor-integration/emacs/*.el
+}
+
+src_install() {
+       ./dune.exe install --destdir="${D}" --prefix=/usr/ \
+               --libdir=$(ocamlc -where) dune dune-configurator \
+               || die
+
+       rm -r "${D}"/usr/doc/dune-configurator || die
+       dodir /usr/share/doc
+       mv "${D}"/usr/doc/dune \
+               "${D}"/usr/share/doc/${PF} || die
+       rmdir "${D}"/usr/doc || die
+
+       if use emacs ; then
+               elisp-install ${PN} editor-integration/emacs/*.el{,c}
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+       fi
+}

Reply via email to