diff --git a/dev-ml/ppx_diff/Manifest b/dev-ml/ppx_diff/Manifest
new file mode 100644
index 0000000000000..9e17b2c9512ea
--- /dev/null
+++ b/dev-ml/ppx_diff/Manifest
@@ -0,0 +1 @@
+DIST ppx_diff-0.17.0.tar.gz 51242 BLAKE2B 0ff71cade9b94b9a4352958c5d288d910676cc43524bf060b25a0d63ed75ac9b8241ecfeae7f928806269a0fbe961ddc6f60388bd134bc609bebd12971ce13e6 SHA512 63c66108d38e37e1568dd2055e2b90ada633d3a6795144fd9c75cce9dc11edff4df61c19d4845f2b14aae3c732186a7d3b0b7e0591cbfa8c46a440f5c323e6ab
diff --git a/dev-ml/ppx_diff/metadata.xml b/dev-ml/ppx_diff/metadata.xml
new file mode 100644
index 0000000000000..3e7a55b51e5b3
--- /dev/null
+++ b/dev-ml/ppx_diff/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ ml@gentoo.org
+ ML
+
+
+ janestreet/ppx_diff
+
+
diff --git a/dev-ml/ppx_diff/ppx_diff-0.17.0.ebuild b/dev-ml/ppx_diff/ppx_diff-0.17.0.ebuild
new file mode 100644
index 0000000000000..ac5108b1ecd06
--- /dev/null
+++ b/dev-ml/ppx_diff/ppx_diff-0.17.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dune
+
+DESCRIPTION="A PPX rewriter that genreates the implementation of [Ldiffable.S]."
+HOMEPAGE="https://github.com/janestreet/ppx_diff"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-5
+ dev-ml/base:${SLOT}[ocamlopt?]
+ dev-ml/gel:${SLOT}[ocamlopt?]
+ dev-ml/ppx_compare:${SLOT}[ocamlopt?]
+ dev-ml/ppx_enumerate:${SLOT}[ocamlopt?]
+ dev-ml/ppx_jane:${SLOT}[ocamlopt?]
+ dev-ml/ppxlib_jane:${SLOT}[ocamlopt?]
+ >=dev-ml/ppxlib-0.32.1:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-ml/dune-3.11"
diff --git a/profiles/package.mask b/profiles/package.mask
index 669b50de111a3..aa8d06ec1a4ae 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -285,6 +285,7 @@ dev-ml/bin_prot:0/0.17
dev-ml/ppx_bin_prot:0/0.17
dev-ml/ppx_jane:0/0.17
dev-ml/gel:0/0.17
+dev-ml/ppx_diff:0/0.17
# Arthur Zamarin (2024-06-08)
# EAPI=6, waiting for a version bump, not maintained for many years.