commit:     37450105be18d56b29cda876e131ec3dba14d34c
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 20 09:26:21 2025 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Apr 20 09:26:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37450105

dev-ml/dune: add 3.18.1

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

 dev-ml/dune/Manifest           |  1 +
 dev-ml/dune/dune-3.18.1.ebuild | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+)

diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
index e38afc6ec486..a6684a33c6c1 100644
--- a/dev-ml/dune/Manifest
+++ b/dev-ml/dune/Manifest
@@ -1,3 +1,4 @@
 DIST dune-2.9.3.tar.gz 1387667 BLAKE2B 
3db54c780b9d13f40c774f53c3fe471dba4a640e7cb5aa5d70ef1dc20a217b95a66149ca5f99f07f3a20450577d622e0cda149f656f06f5a42231b89667c1152
 SHA512 
df6e06a9beebf41f3ed375384be781b5c87c7949048995cc0bbad13dd65c96bd8b27415cd41e43b1112bd86524a59a7dd418e14b5c72b4f1f8fd4ac5ca2d1494
 DIST dune-3.16.1.tar.gz 3000392 BLAKE2B 
93de09c47fda95e1d83f10c9a4e7cfb7f801c7c4e47acbed7a20ef614ff3a6585d8a25b8617c8ee45d338006a99084d096990d1e8c3cbeb6613caa7f0e1a70b5
 SHA512 
18e8022c5fa276e06f788cf25a4d6d08e3247c546cd69a5206d4e78ece1f47a615c6d5842e68e1fa7908cae7ae8c6e4f31d2eb835d97b5e6b5e4154957139e9f
 DIST dune-3.17.2.tar.gz 3015019 BLAKE2B 
8b79e0f6d878722529c21069de7975642351e9dbbf8508a04677a8e04d7eab53dffca785d52dbdbbd4fd28635f2a0bc29abf04f0d9fd87cf6d0ba26b470b4c6c
 SHA512 
8feaf89c5bada83d840e6a1e42ae9308375b07dabc2363015b667bcff638dd78acd526c1a43dd4730ab675b4828f7304e503b97e9f53397e73ed4e644693f260
+DIST dune-3.18.1.tar.gz 2918737 BLAKE2B 
38731cdc61d2944f27487e844c554d0085e9a1787e9ebe7fb92e53d74df6e5919aaefe361c171e129451c7a57b95efe2cc066c1e087bf4a082ca34f6b5a100de
 SHA512 
e9f188360f680bd4a2dad50a11f71e40aec42247f2eff2ac8f3071e6500620c1e631377e675f6b336c2ee9420d665885ce3509b7285bcef306521ba9b49c5208

diff --git a/dev-ml/dune/dune-3.18.1.ebuild b/dev-ml/dune/dune-3.18.1.ebuild
new file mode 100644
index 000000000000..4e8619966de3
--- /dev/null
+++ b/dev-ml/dune/dune-3.18.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2025 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"
+RESTRICT="strip test"
+
+RDEPEND="
+       dev-lang/ocaml:=
+       emacs? ( >=app-editors/emacs-23.1:* )
+"
+DEPEND="${RDEPEND}"
+
+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
+}
+
+src_configure() {
+       ./configure \
+               --libdir="$(ocamlc -where)" \
+               --mandir=/usr/share/man \
+               --docdir=/usr/share/doc \
+               --etcdir=/etc \
+               --datadir=/usr/share \
+               --sbindir=/usr/sbin \
+               --bindir=/usr/bin \
+               || die
+}
+
+src_compile() {
+       ocaml boot/bootstrap.ml -j $(makeopts_jobs) --verbose || die
+       ./_boot/dune.exe build @install -p "${PN}" --profile dune-bootstrap \
+               -j $(makeopts_jobs) --display short || die
+
+       use emacs && elisp-compile editor-integration/emacs/*.el
+}
+
+src_install() {
+       # OCaml generates textrels on 32-bit arches
+       if use arm || use ppc || use x86 ; then
+               export QA_TEXTRELS='.*'
+       fi
+       default
+
+       mv "${ED}"/usr/share/doc/dune "${ED}"/usr/share/doc/${PF} || die
+
+       if use emacs ; then
+               elisp-install ${PN} editor-integration/emacs/*.el{,c}
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+       fi
+}

Reply via email to