commit:     a1689c222815c06c2c42765c63dc78b7dac261e1
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 22:24:24 2026 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 22:24:41 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1689c22

dev-ml/dune: add 3.21.1

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

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

diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
index 03b1151a2bf9..e431a806556e 100644
--- a/dev-ml/dune/Manifest
+++ b/dev-ml/dune/Manifest
@@ -3,3 +3,4 @@ DIST dune-3.17.2.tar.gz 3015019 BLAKE2B 
8b79e0f6d878722529c21069de7975642351e9db
 DIST dune-3.18.1.tar.gz 2918737 BLAKE2B 
38731cdc61d2944f27487e844c554d0085e9a1787e9ebe7fb92e53d74df6e5919aaefe361c171e129451c7a57b95efe2cc066c1e087bf4a082ca34f6b5a100de
 SHA512 
e9f188360f680bd4a2dad50a11f71e40aec42247f2eff2ac8f3071e6500620c1e631377e675f6b336c2ee9420d665885ce3509b7285bcef306521ba9b49c5208
 DIST dune-3.19.1.tar.gz 2917826 BLAKE2B 
588a7d2195169ed1210a7126bd06cfdea4fa0e7735f23c346314c3cbbea1e76ec1286f1b56b337a151fc3246343c001794bde6a9eb85a4a05c6a1537ae2ae8bb
 SHA512 
a101cad5d159a7134bd38d25968ea24189485b12f517e746c5b4c367a8d6ca0959ea59a71dc8c939e5d28a6ae644de9b3c12582579c044e3a081373ac680beb6
 DIST dune-3.20.2.tar.gz 3051854 BLAKE2B 
ce0ff1b7503d0b3bc72fc9c7e1c167c33cf071257066117c16ad24d2d2aeb9c3a84dccd2e24132eb3a95c6f0ee254810e8b1a9f39e8dc81752a97948be8438c3
 SHA512 
efb4376e03a3e760ee230c22ba8ac788623382437d9e3551fdd6bacdca1c6aa2db90246feb011d3d0e7ba3afa47161ebd06c80cfb24e357a82f7764bf003e355
+DIST dune-3.21.1.tar.gz 3431470 BLAKE2B 
cb0a155fff9e4c81438f31770856ab4a7107d78f5cca128aa675bb11ff62c66d4cffb4fb22e4a4f9eda8e9ec088cbf827b66a6511bd179a427bf16778cd42a0c
 SHA512 
a304fc6bb854c3a1d5b86b3d3a942e140387ae82e52be240289ef89413d6e6017bc6869363aba3898d6a6be1cb31f4fe8b9264c735c87a1e18cad82a26054acb

diff --git a/dev-ml/dune/dune-3.21.1.ebuild b/dev-ml/dune/dune-3.21.1.ebuild
new file mode 100644
index 000000000000..cb5046381441
--- /dev/null
+++ b/dev-ml/dune/dune-3.21.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2026 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