Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 2024 16:29:46 GMT
From:      "Gabriel M. Dutra" <dutra@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f7ef3b306b43 - main - textproc/sexp: Add new port
Message-ID:  <202411201629.4AKGTkoK034292@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dutra:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f7ef3b306b431688534e311164f33d7e50fce740

commit f7ef3b306b431688534e311164f33d7e50fce740
Author:     Benjamin Jacobs <freebsd@dev.thsi.be>
AuthorDate: 2024-11-20 16:25:27 +0000
Commit:     Gabriel M. Dutra <dutra@FreeBSD.org>
CommitDate: 2024-11-20 16:27:41 +0000

    textproc/sexp: Add new port
    
    Command-line tool for processing S-expressions
    
    PR:     282868
---
 textproc/Makefile                                  |   1 +
 textproc/sexp/Makefile                             | 129 ++++++++++++++++
 textproc/sexp/distinfo                             | 169 +++++++++++++++++++++
 textproc/sexp/files/patch-dune                     |   4 +
 textproc/sexp/files/patch-dune-project             |   5 +
 textproc/sexp/files/patch-src_main__select.ml      |  17 +++
 ..._core__unix-0.16.0_linux__ext_src_linux__ext.ml |  11 ++
 ...endor_ocaml-re-1.11.0-351-g140deeb_dune-project |   8 +
 ...ch-vendor_ocaml-re-1.11.0-351-g140deeb_lib_dune |   8 +
 ...endor_ocaml__intrinsics-0.16.1_src_int__stubs.c |  11 ++
 ...b942251783de6abb20e0d0e0eec6080062_dune-project |   5 +
 ...b0a6ba8bf4fbfec005f06ed529530af3cf_dune-project |   5 +
 ...8f452dd0d4124e82fea686d8f35c2a3d2a_dune-project |   5 +
 ...b723e9159e36f8d4f6aa52e3d0a569f84f_dune-project |   5 +
 ...bbdeecfda5ae2c103da7399ba178639929_dune-project |   5 +
 ...ch-vendor_ppx__inline__test-0.17.0_dune-project |   5 +
 .../patch-vendor_ppx__inline__test-0.17.0_src_dune |  11 ++
 ...9a847f21c3ee600e8da3f8a705d18c45b4_dune-project |   5 +
 ...0cb7122d7d454c20d732621795d910018d1b66_ast_dune |  11 ++
 ...20d732621795d910018d1b66_metaquot__lifters_dune |   8 +
 ...0cb7122d7d454c20d732621795d910018d1b66_src_dune |  10 ++
 ...122d7d454c20d732621795d910018d1b66_src_gen_dune |   8 +
 ...7122d7d454c20d732621795d910018d1b66_stdppx_dune |  10 ++
 ...22d7d454c20d732621795d910018d1b66_traverse_dune |  10 ++
 ...4bd54ea4e3292d4d32936a46349c043fec_dune-project |   5 +
 ...e4bd54ea4e3292d4d32936a46349c043fec_src_shim.ml |  11 ++
 .../files/patch-vendor_re2-0.17.0_dune-project     |   5 +
 ...dor_re2-0.17.0_src_re2__c_libre2_libre2.symbols |  11 ++
 .../patch-vendor_sexp__select-0.17.0_dune-project  |   5 +
 ...91fec3b7aafd0d4f29957bf34fc0f936ba_dune-project |   5 +
 ...h-vendor_splittable__random-0.17.0_dune-project |   5 +
 .../patch-vendor_time__now-0.17.0_dune-project     |   5 +
 .../files/patch-vendor_uopt-0.17.0_dune-project    |   5 +
 textproc/sexp/pkg-descr                            |   4 +
 34 files changed, 527 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index e77a27370e62..60a2fee0d56e 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -2025,6 +2025,7 @@
     SUBDIR += sdom
     SUBDIR += senna
     SUBDIR += sentencepiece
+    SUBDIR += sexp
     SUBDIR += sgmlformat
     SUBDIR += sgmls
     SUBDIR += sgrep
diff --git a/textproc/sexp/Makefile b/textproc/sexp/Makefile
new file mode 100644
index 000000000000..087b4943034c
--- /dev/null
+++ b/textproc/sexp/Makefile
@@ -0,0 +1,129 @@
+PORTNAME=	sexp
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.17.0
+CATEGORIES=	textproc
+DIST_SUBDIR=	${PORTNAME}
+
+MAINTAINER=	freebsd@dev.thsi.be
+COMMENT=	S-expressions processing command-line utility
+WWW=		https://github.com/janestreet/sexp
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS=	${LOCALBASE}/bin/bash:shells/bash \
+		ocaml-compiler-libs>=0:devel/ocaml-compiler-libs
+
+USES=		gmake ocaml:dune
+USE_GITHUB=	yes
+GH_ACCOUNT=	janestreet
+GH_TUPLE=	inhabitedtype:angstrom:0.16.1:angstrom \
+		janestreet:async:v0.16.0:async \
+		janestreet:async_kernel:v0.16.0:async_kernel \
+		janestreet:async_rpc_kernel:v0.16.0:async_rpc_kernel \
+		janestreet:async_unix:v0.16.0:async_unix \
+		janestreet:base:v0.16.3:base \
+		janestreet:base_bigstring:v0.16.0:base_bigstring \
+		janestreet:base_quickcheck:v0.16.0:base_quickcheck \
+		inhabitedtype:bigstringaf:0.10.0:bigstringaf \
+		janestreet:bin_prot:v0.16.0:bin_prot \
+		janestreet:core:v0.16.2:core \
+		janestreet:core_kernel:v0.16.0:core_kernel \
+		janestreet:core_unix:v0.16.0:core_unix \
+		janestreet:csvfields:v0.16.0:csvfields \
+		inhabitedtype:faraday:0.8.2:faraday \
+		janestreet:fieldslib:v0.16.0:fieldslib \
+		janestreet:int_repr:v0.16.0:int_repr \
+		janestreet:jane-street-headers:v0.16.0:jane_street_headers \
+		janestreet:jane_rope:v0.16.0:jane_rope \
+		janestreet:jsonaf:v0.16.0:jsonaf \
+		janestreet:jst-config:v0.16.0:jst_config \
+		mirage:ocaml-cstruct:v6.2.0:ocaml_cstruct \
+		ocaml:ocaml-re:1.11.0-351-g140deeb:ocaml_re \
+		janestreet:ocaml_intrinsics:v0.16.1:ocaml_intrinsics \
+		janestreet:parsexp:14af9ab942251783de6abb20e0d0e0eec6080062:parsexp \
+		janestreet:ppx_assert:b6e114b0a6ba8bf4fbfec005f06ed529530af3cf:ppx_assert \
+		janestreet:ppx_base:v0.16.0:ppx_base \
+		janestreet:ppx_bench:v0.16.0:ppx_bench \
+		janestreet:ppx_bin_prot:v0.16.0:ppx_bin_prot \
+		janestreet:ppx_cold:v0.16.0:ppx_cold \
+		janestreet:ppx_compare:399a908f452dd0d4124e82fea686d8f35c2a3d2a:ppx_compare \
+		janestreet:ppx_custom_printf:v0.16.0:ppx_custom_printf \
+		ocaml-ppx:ppx_derivers:1.2.1:ppx_derivers \
+		janestreet:ppx_diff:eebb67b723e9159e36f8d4f6aa52e3d0a569f84f:ppx_diff \
+		janestreet:ppx_disable_unused_warnings:1fd5b921db5b14a9209a999ab6bf7dcdaef45e85:ppx_disable_unused_warnings \
+		janestreet:ppx_enumerate:v0.16.0:ppx_enumerate \
+		janestreet:ppx_expect:936804bbdeecfda5ae2c103da7399ba178639929:ppx_expect \
+		janestreet:ppx_fields_conv:v0.16.0:ppx_fields_conv \
+		janestreet:ppx_fixed_literal:v0.16.0:ppx_fixed_literal \
+		janestreet:ppx_globalize:v0.16.0:ppx_globalize \
+		janestreet:ppx_hash:v0.16.0:ppx_hash \
+		janestreet:ppx_here:v0.16.0:ppx_here \
+		janestreet:ppx_ignore_instrumentation:v0.16.0:ppx_ignore_instrumentation \
+		janestreet:ppx_inline_test:v0.17.0:ppx_inline_test \
+		janestreet:ppx_jane:v0.16.0:ppx_jane \
+		janestreet:ppx_let:v0.16.0:ppx_let \
+		janestreet:ppx_log:v0.16.0:ppx_log \
+		janestreet:ppx_module_timer:v0.16.0:ppx_module_timer \
+		janestreet:ppx_optcomp:v0.16.0:ppx_optcomp \
+		janestreet:ppx_optional:v0.16.0:ppx_optional \
+		janestreet:ppx_pipebang:v0.16.0:ppx_pipebang \
+		janestreet:ppx_sexp_conv:v0.16.0:ppx_sexp_conv \
+		janestreet:ppx_sexp_message:v0.16.0:ppx_sexp_message \
+		janestreet:ppx_sexp_value:v0.16.0:ppx_sexp_value \
+		janestreet:ppx_stable:ee8c759a847f21c3ee600e8da3f8a705d18c45b4:ppx_stable \
+		janestreet:ppx_stable_witness:v0.16.0:ppx_stable_witness \
+		janestreet:ppx_string:v0.16.0:ppx_string \
+		janestreet:ppx_tydi:v0.16.0:ppx_tydi \
+		janestreet:ppx_typerep_conv:v0.16.0:ppx_typerep_conv \
+		janestreet:ppx_variants_conv:v0.16.0:ppx_variants_conv \
+		janestreet:ppxlib:8a0cb7122d7d454c20d732621795d910018d1b66:ppxlib \
+		janestreet:ppxlib_jane:33fc3e4bd54ea4e3292d4d32936a46349c043fec:ppxlib_jane \
+		janestreet:protocol_version_header:v0.16.0:protocol_version_header \
+		janestreet:re2:v0.17.0:re2 \
+		janestreet:regex_parser_intf:v0.16.0:regex_parser_intf \
+		janestreet:sexp_diff:v0.16.0:sexp_diff \
+		janestreet:sexp_macro:v0.16.0:sexp_macro \
+		janestreet:sexp_pretty:v0.16.0:sexp_pretty \
+		janestreet:sexp_select:v0.17.0:sexp_select \
+		janestreet:sexplib:aca60491fec3b7aafd0d4f29957bf34fc0f936ba:sexplib \
+		janestreet:sexplib0:v0.16.0:sexplib0 \
+		janestreet:shell:v0.16.0:shell \
+		janestreet:spawn:v0.17.0:spawn \
+		janestreet:splittable_random:v0.17.0:splittable_random \
+		janestreet:stdio:v0.16.0:stdio \
+		janestreet:time_now:v0.17.0:time_now \
+		janestreet:timezone:v0.16.0:timezone \
+		janestreet:typerep:v0.16.0:typerep \
+		janestreet:uopt:v0.17.0:uopt \
+		janestreet:variantslib:v0.16.0:variantslib
+USE_OCAML=	yes
+DUNE_ARGS=	bin/main.exe
+
+PLIST_FILES=	bin/${PORTNAME}
+PORTDOCS=	change_by_example.md change_semantics.md \
+		query_by_example.md query_semantics.md \
+
+OPTIONS_DEFINE=		DOCS FZF
+FZF_DESC=		Run-time dependency on fzf
+FZF_RUN_DEPENDS=	${LOCALBASE}/bin/fzf:textproc/fzf
+
+post-extract:
+	@${MKDIR} ${PATCH_WRKSRC}/vendor
+.for _tuple in ${GH_TUPLE}
+	@${MV} ${WRKSRC_${_tuple:C/.*://}} ${PATCH_WRKSRC}/vendor
+.endfor
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/_build/default/bin/main.exe \
+		${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/doc/change_by_example.md \
+		${WRKSRC}/doc/change_semantics.md \
+		${WRKSRC}/doc/query_by_example.md \
+		${WRKSRC}/doc/query_semantics.md \
+		${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/textproc/sexp/distinfo b/textproc/sexp/distinfo
new file mode 100644
index 000000000000..0940082e969a
--- /dev/null
+++ b/textproc/sexp/distinfo
@@ -0,0 +1,169 @@
+TIMESTAMP = 1732032782
+SHA256 (sexp/janestreet-sexp-v0.17.0_GH0.tar.gz) = c0ad559a13c4eed11f25446016fc776ea147527d186d5b713fcc8d201d26ce6b
+SIZE (sexp/janestreet-sexp-v0.17.0_GH0.tar.gz) = 123300
+SHA256 (sexp/inhabitedtype-angstrom-0.16.1_GH0.tar.gz) = 143536fb4d049574c539b9990840615e078ed3dd94e1d24888293f68349a100b
+SIZE (sexp/inhabitedtype-angstrom-0.16.1_GH0.tar.gz) = 117544
+SHA256 (sexp/janestreet-async-v0.16.0_GH0.tar.gz) = b4088846a0b4fc248d6ddc101cc774834ad66a7c155ab32e073bd4881d378357
+SIZE (sexp/janestreet-async-v0.16.0_GH0.tar.gz) = 77022
+SHA256 (sexp/janestreet-async_kernel-v0.16.0_GH0.tar.gz) = 8c55a9776aee8e9f5affe6aa576303b6f72768862ae3d61d4371d92462df8fec
+SIZE (sexp/janestreet-async_kernel-v0.16.0_GH0.tar.gz) = 155521
+SHA256 (sexp/janestreet-async_log-v0.17.0_GH0.tar.gz) = 2dae248d74c23aa6a1e0bc38d5b34c975eb4dfbdf32f0970641b5befd8385720
+SIZE (sexp/janestreet-async_log-v0.17.0_GH0.tar.gz) = 30105
+SHA256 (sexp/janestreet-async_rpc_kernel-v0.16.0_GH0.tar.gz) = 4b056c262da9e992419ec5412723b234a172923f972d0f500ccae995ec767c9d
+SIZE (sexp/janestreet-async_rpc_kernel-v0.16.0_GH0.tar.gz) = 76163
+SHA256 (sexp/janestreet-async_unix-v0.16.0_GH0.tar.gz) = 19975624311c13cbd412a7f3c80691b4603220c8dc82194f596607d29a4bb26b
+SIZE (sexp/janestreet-async_unix-v0.16.0_GH0.tar.gz) = 186267
+SHA256 (sexp/janestreet-base-v0.16.3_GH0.tar.gz) = 9bf9e503e2bd010325c7b0f5ae007ce1e5d3da61f0e06d2fbb64e9d12ccff93c
+SIZE (sexp/janestreet-base-v0.16.3_GH0.tar.gz) = 442632
+SHA256 (sexp/janestreet-base_bigstring-v0.16.0_GH0.tar.gz) = 8a2d60fe0a544e2d69ed0a9eac8c2fbb9726f46578ff3c41ff34028ac812cb66
+SIZE (sexp/janestreet-base_bigstring-v0.16.0_GH0.tar.gz) = 19275
+SHA256 (sexp/janestreet-base_quickcheck-v0.16.0_GH0.tar.gz) = c67c04a4cfff2472be777500fafb519f071d63b3d5ef3c7366ff0ee3856b67c8
+SIZE (sexp/janestreet-base_quickcheck-v0.16.0_GH0.tar.gz) = 76738
+SHA256 (sexp/inhabitedtype-bigstringaf-0.10.0_GH0.tar.gz) = ed92f5b05fbc11b9defcec734d59b1068f3717a9ae4f9705c16c7f7ac3729f28
+SIZE (sexp/inhabitedtype-bigstringaf-0.10.0_GH0.tar.gz) = 12175
+SHA256 (sexp/janestreet-bin_prot-v0.16.0_GH0.tar.gz) = d0b0db60aa4b61ff0a44ec4a2d571313f30d8fd80d0c3a0b701abb0e70df4a98
+SIZE (sexp/janestreet-bin_prot-v0.16.0_GH0.tar.gz) = 343886
+SHA256 (sexp/janestreet-core-v0.16.2_GH0.tar.gz) = 9ba3390bd8ea5a018a5d84dbfd6b5c652989bf541159173e76180eb3de5b99fd
+SIZE (sexp/janestreet-core-v0.16.2_GH0.tar.gz) = 542390
+SHA256 (sexp/janestreet-core_kernel-v0.16.0_GH0.tar.gz) = b3b1ce50cb3a1607f5701a90f5d5b37d841325591b49ba11bfbee285f510d2d1
+SIZE (sexp/janestreet-core_kernel-v0.16.0_GH0.tar.gz) = 276775
+SHA256 (sexp/janestreet-core_unix-v0.16.0_GH0.tar.gz) = 9978ae7f56c18cc37b5e3a1adf1c70a7da542a57e17ff73f4e00811eb817d7bd
+SIZE (sexp/janestreet-core_unix-v0.16.0_GH0.tar.gz) = 391719
+SHA256 (sexp/janestreet-csvfields-v0.16.0_GH0.tar.gz) = 223114d2d660983012e71151a983fdc978dc8354b837ccf7313a587bfffc3ed8
+SIZE (sexp/janestreet-csvfields-v0.16.0_GH0.tar.gz) = 32500
+SHA256 (sexp/inhabitedtype-faraday-0.8.2_GH0.tar.gz) = 720ea90b39fd3ea7de6e8722330a25514e67306e94d4af41ad48d8a7cfa035c6
+SIZE (sexp/inhabitedtype-faraday-0.8.2_GH0.tar.gz) = 15239
+SHA256 (sexp/janestreet-fieldslib-v0.16.0_GH0.tar.gz) = 7bf728eb9db49f639ceda39d408d619271648e8840c5822724c1f64292c47146
+SIZE (sexp/janestreet-fieldslib-v0.16.0_GH0.tar.gz) = 3711
+SHA256 (sexp/janestreet-gel-v0.17.0_GH0.tar.gz) = 80e3c39fa654d770329d8e2e1bb792e8eb18ceb2dd16fb2d9037830ad73c434f
+SIZE (sexp/janestreet-gel-v0.17.0_GH0.tar.gz) = 4255
+SHA256 (sexp/janestreet-int_repr-v0.16.0_GH0.tar.gz) = f0efa8b2cf81039f9b73b92287906211f97d56f3988dda891898f27d79293d3a
+SIZE (sexp/janestreet-int_repr-v0.16.0_GH0.tar.gz) = 9227
+SHA256 (sexp/janestreet-jane-street-headers-v0.16.0_GH0.tar.gz) = bfb57ae96d4925f50f443480caa709749ca3012118f5b7580b2d8c84c93ee9d4
+SIZE (sexp/janestreet-jane-street-headers-v0.16.0_GH0.tar.gz) = 4905
+SHA256 (sexp/janestreet-jane_rope-v0.16.0_GH0.tar.gz) = 5fb0c201b928f06f107f7300c9f663a0633992e2de956d4acf8f6e89d3c0a1e0
+SIZE (sexp/janestreet-jane_rope-v0.16.0_GH0.tar.gz) = 9080
+SHA256 (sexp/janestreet-jsonaf-v0.16.0_GH0.tar.gz) = 78be0a00accefbe59940ba75ff133716b5bbe863eb395ba9eed4da59b41c7833
+SIZE (sexp/janestreet-jsonaf-v0.16.0_GH0.tar.gz) = 15379
+SHA256 (sexp/janestreet-jst-config-v0.16.0_GH0.tar.gz) = 94d60f5d4b4bae0bfdfeab247293155f812ae8f2f660cd1812f4696b1c56d8c9
+SIZE (sexp/janestreet-jst-config-v0.16.0_GH0.tar.gz) = 4952
+SHA256 (sexp/mirage-ocaml-cstruct-v6.2.0_GH0.tar.gz) = 629a4bf17893c48c2f7b951eddc875a61de18bf190bb5a096976837198349cd4
+SIZE (sexp/mirage-ocaml-cstruct-v6.2.0_GH0.tar.gz) = 244005
+SHA256 (sexp/ocaml-ocaml-re-1.11.0-351-g140deeb_GH0.tar.gz) = 693f2c035b6c4f69959a2bc78b8182e1708005422189378056053a6ca92ce500
+SIZE (sexp/ocaml-ocaml-re-1.11.0-351-g140deeb_GH0.tar.gz) = 108198
+SHA256 (sexp/janestreet-ocaml_intrinsics-v0.16.1_GH0.tar.gz) = 4d944e792ff865d0527e19700a79f10663172551c8e8381599747c0acf4f8e34
+SIZE (sexp/janestreet-ocaml_intrinsics-v0.16.1_GH0.tar.gz) = 38933
+SHA256 (sexp/janestreet-ocaml_intrinsics_kernel-v0.17.1_GH0.tar.gz) = c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01
+SIZE (sexp/janestreet-ocaml_intrinsics_kernel-v0.17.1_GH0.tar.gz) = 11922
+SHA256 (sexp/janestreet-parsexp-14af9ab942251783de6abb20e0d0e0eec6080062_GH0.tar.gz) = bc124100fa1b3ee590c48feec992d0916f093584404a14254304afdd7fea920f
+SIZE (sexp/janestreet-parsexp-14af9ab942251783de6abb20e0d0e0eec6080062_GH0.tar.gz) = 47905
+SHA256 (sexp/janestreet-ppx_assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf_GH0.tar.gz) = 495d8357970ab6420013a1dac8b84e71195c2dd5ab9f987fb6a0783674f8ef48
+SIZE (sexp/janestreet-ppx_assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf_GH0.tar.gz) = 7468
+SHA256 (sexp/janestreet-ppx_base-v0.16.0_GH0.tar.gz) = cea0e5a30a99a8b182fcd0f67d676bd554759b34f46b78e349530eea3f49d02e
+SIZE (sexp/janestreet-ppx_base-v0.16.0_GH0.tar.gz) = 2996
+SHA256 (sexp/janestreet-ppx_bench-v0.16.0_GH0.tar.gz) = 0e6cb46edad0a5e405081ddb187e9e254bec01364f7e2923e55bea0e0c3e1dbd
+SIZE (sexp/janestreet-ppx_bench-v0.16.0_GH0.tar.gz) = 9555
+SHA256 (sexp/janestreet-ppx_bin_prot-v0.16.0_GH0.tar.gz) = 4a6463fb398d5f6476563e10a8ebbe22f0bbb1496022145d59e593a4ae2cbbed
+SIZE (sexp/janestreet-ppx_bin_prot-v0.16.0_GH0.tar.gz) = 37632
+SHA256 (sexp/janestreet-ppx_cold-v0.16.0_GH0.tar.gz) = 6ce67b0160db2d81bb1394d29453d15b9348a748233ca6cf6b053dea31601e68
+SIZE (sexp/janestreet-ppx_cold-v0.16.0_GH0.tar.gz) = 3814
+SHA256 (sexp/janestreet-ppx_compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a_GH0.tar.gz) = 078ef122afebded69d6d5c9e611be806c403e9e13c67a2ee9d8e4406fed4a9e0
+SIZE (sexp/janestreet-ppx_compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a_GH0.tar.gz) = 16471
+SHA256 (sexp/janestreet-ppx_custom_printf-v0.16.0_GH0.tar.gz) = 6f1d36859077c061b92934bd9127b2cae008365db922385ecf4ce9780e7ef627
+SIZE (sexp/janestreet-ppx_custom_printf-v0.16.0_GH0.tar.gz) = 9729
+SHA256 (sexp/ocaml-ppx-ppx_derivers-1.2.1_GH0.tar.gz) = b6595ee187dea792b31fc54a0e1524ab1e48bc6068d3066c45215a138cc73b95
+SIZE (sexp/ocaml-ppx-ppx_derivers-1.2.1_GH0.tar.gz) = 2530
+SHA256 (sexp/janestreet-ppx_diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f_GH0.tar.gz) = a25d57d73b309f2c162672432f775f2000daf7ef2a6d1899ac1fd6e078436ec7
+SIZE (sexp/janestreet-ppx_diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f_GH0.tar.gz) = 51833
+SHA256 (sexp/janestreet-ppx_disable_unused_warnings-1fd5b921db5b14a9209a999ab6bf7dcdaef45e85_GH0.tar.gz) = a9ef6e422c1136e33cf79d73c10934c40076282b76d2f80145fd03471c4c70b8
+SIZE (sexp/janestreet-ppx_disable_unused_warnings-1fd5b921db5b14a9209a999ab6bf7dcdaef45e85_GH0.tar.gz) = 4010
+SHA256 (sexp/janestreet-ppx_enumerate-v0.16.0_GH0.tar.gz) = 17f75b7741d49f06e3db3ef2e2aee4934c1682224b80d272f05a42b6ba506f7f
+SIZE (sexp/janestreet-ppx_enumerate-v0.16.0_GH0.tar.gz) = 9414
+SHA256 (sexp/janestreet-ppx_expect-936804bbdeecfda5ae2c103da7399ba178639929_GH0.tar.gz) = 69b76d70196bdf42b4823d9b70b38479fffc9099012b9d8b6afa03df0a4badae
+SIZE (sexp/janestreet-ppx_expect-936804bbdeecfda5ae2c103da7399ba178639929_GH0.tar.gz) = 62244
+SHA256 (sexp/janestreet-ppx_fields_conv-v0.16.0_GH0.tar.gz) = fb7328ee2a6a17456cbe6e7083f07f5ccb4e43786c83f7e1213119919e10972c
+SIZE (sexp/janestreet-ppx_fields_conv-v0.16.0_GH0.tar.gz) = 21481
+SHA256 (sexp/janestreet-ppx_fixed_literal-v0.16.0_GH0.tar.gz) = 7a2d595a362d3190023e251bee75588051cfb468e76d375aa71f22cb1b2a5416
+SIZE (sexp/janestreet-ppx_fixed_literal-v0.16.0_GH0.tar.gz) = 3679
+SHA256 (sexp/janestreet-ppx_globalize-v0.16.0_GH0.tar.gz) = 426855d04be2c15beb70884fd2e6d662000f63bcca0166f5629e369e645fec97
+SIZE (sexp/janestreet-ppx_globalize-v0.16.0_GH0.tar.gz) = 8328
+SHA256 (sexp/janestreet-ppx_hash-v0.16.0_GH0.tar.gz) = eefad2003ae76216bf086d5c313012aac1df0be708aaf0b4e24c81f6c51a03cf
+SIZE (sexp/janestreet-ppx_hash-v0.16.0_GH0.tar.gz) = 28660
+SHA256 (sexp/janestreet-ppx_here-v0.16.0_GH0.tar.gz) = 072fd8ce903ce95ff75ddcca4898d250fe7a5d276b3011b67df1473d9ef95669
+SIZE (sexp/janestreet-ppx_here-v0.16.0_GH0.tar.gz) = 5034
+SHA256 (sexp/janestreet-ppx_ignore_instrumentation-v0.16.0_GH0.tar.gz) = 4e8613957fdeed68d35bda53d657cffe3bc9804e25777283e859799dbb12da7b
+SIZE (sexp/janestreet-ppx_ignore_instrumentation-v0.16.0_GH0.tar.gz) = 3712
+SHA256 (sexp/janestreet-ppx_inline_test-v0.17.0_GH0.tar.gz) = b71e4f01ab8aed418a3358688241a94b6d16d723deec7caaf5e4e917c2a76d2c
+SIZE (sexp/janestreet-ppx_inline_test-v0.17.0_GH0.tar.gz) = 24968
+SHA256 (sexp/janestreet-ppx_jane-v0.16.0_GH0.tar.gz) = 4c5ee082ae1d3d1372355ca85deb9f667324c8d6a50c13cc2124e880281c6306
+SIZE (sexp/janestreet-ppx_jane-v0.16.0_GH0.tar.gz) = 4688
+SHA256 (sexp/janestreet-ppx_let-v0.16.0_GH0.tar.gz) = 8ccc4f27668e9daf613f6dc779bcd9bdc6cd678826cd35c401be65566c436043
+SIZE (sexp/janestreet-ppx_let-v0.16.0_GH0.tar.gz) = 15460
+SHA256 (sexp/janestreet-ppx_log-v0.16.0_GH0.tar.gz) = e0105f1a22199231be9258ced23300c4c4404d1b65e367a332848c4356cc7032
+SIZE (sexp/janestreet-ppx_log-v0.16.0_GH0.tar.gz) = 6706
+SHA256 (sexp/janestreet-ppx_module_timer-v0.16.0_GH0.tar.gz) = 54b49c7fe3b2d7d72874e21286eb8424903db60ebd730441eb310620df597478
+SIZE (sexp/janestreet-ppx_module_timer-v0.16.0_GH0.tar.gz) = 7281
+SHA256 (sexp/janestreet-ppx_optcomp-v0.16.0_GH0.tar.gz) = 22782ce22423612eecf9bc49d36ba51dd32416feed7b28e81364fb27211aff02
+SIZE (sexp/janestreet-ppx_optcomp-v0.16.0_GH0.tar.gz) = 16789
+SHA256 (sexp/janestreet-ppx_optional-v0.16.0_GH0.tar.gz) = e6654625008e75ec3e55163d6dd8b360e8724ea108583ecb8b65ba37ac853a5f
+SIZE (sexp/janestreet-ppx_optional-v0.16.0_GH0.tar.gz) = 8333
+SHA256 (sexp/janestreet-ppx_pipebang-v0.16.0_GH0.tar.gz) = 9435f425b6ee9d736cee5ed8579402be085656c4d31dd2bd4c256363ed7bdc8c
+SIZE (sexp/janestreet-ppx_pipebang-v0.16.0_GH0.tar.gz) = 3755
+SHA256 (sexp/janestreet-ppx_sexp_conv-v0.16.0_GH0.tar.gz) = 3b7065f4ec2f8b72df688c7b5604cea82a733fdccab4317c758a64710fc71e87
+SIZE (sexp/janestreet-ppx_sexp_conv-v0.16.0_GH0.tar.gz) = 66918
+SHA256 (sexp/janestreet-ppx_sexp_message-v0.16.0_GH0.tar.gz) = 4f2e0c32d371895e2e5ad3266942d6a20bd66f8ab824653209bf41a40fea028e
+SIZE (sexp/janestreet-ppx_sexp_message-v0.16.0_GH0.tar.gz) = 8435
+SHA256 (sexp/janestreet-ppx_sexp_value-v0.16.0_GH0.tar.gz) = 06345d475a918ca9160ce58b323f6ca4388288015efaaaf82915be25afb20947
+SIZE (sexp/janestreet-ppx_sexp_value-v0.16.0_GH0.tar.gz) = 8460
+SHA256 (sexp/janestreet-ppx_stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4_GH0.tar.gz) = 4ae95ff1caa009c400033a6bc724be7a7036158a3af8b9338bd308ef33e0f56a
+SIZE (sexp/janestreet-ppx_stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4_GH0.tar.gz) = 25004
+SHA256 (sexp/janestreet-ppx_stable_witness-v0.16.0_GH0.tar.gz) = f397aa471a92da2272e96787dc64e9ba10e1464a6ef821c1edf68a7601ae2736
+SIZE (sexp/janestreet-ppx_stable_witness-v0.16.0_GH0.tar.gz) = 7641
+SHA256 (sexp/janestreet-ppx_string-v0.16.0_GH0.tar.gz) = c29664a9a34a26540e00ab2b9b08d2181e970c54f30e0e3dcb5fb28764217dd8
+SIZE (sexp/janestreet-ppx_string-v0.16.0_GH0.tar.gz) = 6105
+SHA256 (sexp/janestreet-ppx_tydi-v0.16.0_GH0.tar.gz) = 3dc321a790e7228de9487fa93fc2976be5bc41e733486c64c03eced01ad0e3ff
+SIZE (sexp/janestreet-ppx_tydi-v0.16.0_GH0.tar.gz) = 4583
+SHA256 (sexp/janestreet-ppx_typerep_conv-v0.16.0_GH0.tar.gz) = e35cf53870f7c9aa3bf12072cbb23f0c4ed4dc6f0ee8a62b13bdfd9b77bb52e9
+SIZE (sexp/janestreet-ppx_typerep_conv-v0.16.0_GH0.tar.gz) = 9421
+SHA256 (sexp/janestreet-ppx_variants_conv-v0.16.0_GH0.tar.gz) = a4ef1446de2ab91492ca56c46cdae8491f2bb398797e69bf7ae794ddce4adad1
+SIZE (sexp/janestreet-ppx_variants_conv-v0.16.0_GH0.tar.gz) = 12331
+SHA256 (sexp/janestreet-ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_GH0.tar.gz) = 4a93f10679cde959bc0f1b2beb7cdd0461dbd77b63872fbc17e8761084af69bb
+SIZE (sexp/janestreet-ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_GH0.tar.gz) = 648378
+SHA256 (sexp/janestreet-ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_GH0.tar.gz) = 7463c1a1fd7cdaf8a6beb899a55c03ef7a18cacaa869b0855e14103799f91f35
+SIZE (sexp/janestreet-ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_GH0.tar.gz) = 52570
+SHA256 (sexp/janestreet-protocol_version_header-v0.16.0_GH0.tar.gz) = 459f0ae7c21629eaf89ddaad49c236b3acf1780dbd4f726199d3a1b7a138ce6f
+SIZE (sexp/janestreet-protocol_version_header-v0.16.0_GH0.tar.gz) = 9189
+SHA256 (sexp/janestreet-re2-v0.17.0_GH0.tar.gz) = cde2fdedcf38297afb77dafbad3ca2eacee8ac70f84e84e05e88cf32bb1fb0bd
+SIZE (sexp/janestreet-re2-v0.17.0_GH0.tar.gz) = 393671
+SHA256 (sexp/janestreet-regex_parser_intf-v0.16.0_GH0.tar.gz) = 2988ac5432c5d3dc71d18c884b32f5e7f0c5f9ecc9f97030a379f884cfadcdfa
+SIZE (sexp/janestreet-regex_parser_intf-v0.16.0_GH0.tar.gz) = 4031
+SHA256 (sexp/janestreet-sexp_diff-v0.16.0_GH0.tar.gz) = 00bccbc79859da4d49144c9349b0b0d1dbf57ec9d2b5038f44d8e216039e73c4
+SIZE (sexp/janestreet-sexp_diff-v0.16.0_GH0.tar.gz) = 11585
+SHA256 (sexp/janestreet-sexp_macro-v0.16.0_GH0.tar.gz) = af0e9e863560d3c9063f4632d2ee0a35881d60862d7447070efff7ffefc06233
+SIZE (sexp/janestreet-sexp_macro-v0.16.0_GH0.tar.gz) = 15897
+SHA256 (sexp/janestreet-sexp_pretty-v0.16.0_GH0.tar.gz) = 9d15e7be22a7d27d1e037571491c58ffd0165f01082110e748e073a99cd7864b
+SIZE (sexp/janestreet-sexp_pretty-v0.16.0_GH0.tar.gz) = 22557
+SHA256 (sexp/janestreet-sexp_select-v0.17.0_GH0.tar.gz) = 4501d04143dd5c73662b01c4c8952e11edfd44a905f10cc6ccf86c722173a77e
+SIZE (sexp/janestreet-sexp_select-v0.17.0_GH0.tar.gz) = 10061
+SHA256 (sexp/janestreet-sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba_GH0.tar.gz) = 4022a2b7c0ffac0a03c490423e4fccdd5c25023ddc27675b34c869497b5dc14d
+SIZE (sexp/janestreet-sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba_GH0.tar.gz) = 55894
+SHA256 (sexp/janestreet-sexplib0-v0.16.0_GH0.tar.gz) = 73002106488074187a174992da6e76f36f543e6daa80dbf6039a3e10e46adc80
+SIZE (sexp/janestreet-sexplib0-v0.16.0_GH0.tar.gz) = 22171
+SHA256 (sexp/janestreet-shell-v0.16.0_GH0.tar.gz) = c8875d651cbf552ea82fdcfebfed90c858d3d6810fd2748bf01786550878e906
+SIZE (sexp/janestreet-shell-v0.16.0_GH0.tar.gz) = 40799
+SHA256 (sexp/janestreet-spawn-v0.17.0_GH0.tar.gz) = 07c7aaae69c910af584e963c4a15323bd6988741843dfd3c8d11994b3e27ce59
+SIZE (sexp/janestreet-spawn-v0.17.0_GH0.tar.gz) = 18629
+SHA256 (sexp/janestreet-splittable_random-v0.17.0_GH0.tar.gz) = 4f8adcade214d1f84e1073a35f4751154e73853649df581cce68d20dc6337ad2
+SIZE (sexp/janestreet-splittable_random-v0.17.0_GH0.tar.gz) = 10190
+SHA256 (sexp/janestreet-stdio-v0.16.0_GH0.tar.gz) = 388561b483894ae27b5968358b7978ae6a242f426e8c26fd92b39852d68b856e
+SIZE (sexp/janestreet-stdio-v0.16.0_GH0.tar.gz) = 7836
+SHA256 (sexp/janestreet-time_now-v0.17.0_GH0.tar.gz) = fc85d6e46c4eb9370de9385f7bbfa6d57b4e48a9e96b20009007226b73f9530c
+SIZE (sexp/janestreet-time_now-v0.17.0_GH0.tar.gz) = 4717
+SHA256 (sexp/janestreet-timezone-v0.16.0_GH0.tar.gz) = 0acd70fb2a889f58caeba276433e6208f8346e25f0feb0f7721b5916dfc04937
+SIZE (sexp/janestreet-timezone-v0.16.0_GH0.tar.gz) = 9881
+SHA256 (sexp/janestreet-typerep-v0.16.0_GH0.tar.gz) = 943ef91a18d26d530873630a76fc12bc0f0ce5ee8133be69f1e3026525357b11
+SIZE (sexp/janestreet-typerep-v0.16.0_GH0.tar.gz) = 23002
+SHA256 (sexp/janestreet-uopt-v0.17.0_GH0.tar.gz) = a6534df59d54cfa50ac22c4406d425b098e94b198cee48c3d82e15a348577cc6
+SIZE (sexp/janestreet-uopt-v0.17.0_GH0.tar.gz) = 5880
+SHA256 (sexp/janestreet-variantslib-v0.16.0_GH0.tar.gz) = 4a4f74d1ba234a1ff0f751ea2d86f94fdd1f0809e0fe6c20aab9eae8dec4d2a1
+SIZE (sexp/janestreet-variantslib-v0.16.0_GH0.tar.gz) = 2982
diff --git a/textproc/sexp/files/patch-dune b/textproc/sexp/files/patch-dune
new file mode 100644
index 000000000000..a0176822ed0b
--- /dev/null
+++ b/textproc/sexp/files/patch-dune
@@ -0,0 +1,4 @@
+--- dune.orig	2024-11-19 15:49:43 UTC
++++ dune
+@@ -0,0 +1 @@
++(vendored_dirs vendor)
diff --git a/textproc/sexp/files/patch-dune-project b/textproc/sexp/files/patch-dune-project
new file mode 100644
index 000000000000..08c510443182
--- /dev/null
+++ b/textproc/sexp/files/patch-dune-project
@@ -0,0 +1,5 @@
+--- dune-project.orig	2024-11-19 15:50:04 UTC
++++ dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-src_main__select.ml b/textproc/sexp/files/patch-src_main__select.ml
new file mode 100644
index 000000000000..9dce2c05da92
--- /dev/null
+++ b/textproc/sexp/files/patch-src_main__select.ml
@@ -0,0 +1,17 @@
+--- src/main_select.ml.orig	2024-05-07 18:46:09 UTC
++++ src/main_select.ml
+@@ -77,12 +77,13 @@ let remove_duplicates_flag =
+ ;;
+ 
+ let remove_duplicates_flag =
++  let list_stable_dedup = List.stable_dedup_staged ~compare:Sexp.compare in
+   let open Command.Param in
+   flag
+     ~doc:" remove duplicate outputs from each PROGRAM"
+     "remove-dupes"
+     (map_flag no_arg ~f:(fun arg ->
+-       Option.some_if arg (List.stable_dedup ~compare:Sexp.compare)))
++       Option.some_if arg (unstage list_stable_dedup)))
+ ;;
+ 
+ let drop_flag =
diff --git a/textproc/sexp/files/patch-vendor_core__unix-0.16.0_linux__ext_src_linux__ext.ml b/textproc/sexp/files/patch-vendor_core__unix-0.16.0_linux__ext_src_linux__ext.ml
new file mode 100644
index 000000000000..8b9edb057031
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_core__unix-0.16.0_linux__ext_src_linux__ext.ml
@@ -0,0 +1,11 @@
+--- vendor/core_unix-0.16.0/linux_ext/src/linux_ext.ml.orig	2023-04-25 13:12:26 UTC
++++ vendor/core_unix-0.16.0/linux_ext/src/linux_ext.ml
+@@ -460,7 +460,7 @@ module Clock = Null.Clock
+ module Clock = Null.Clock
+ 
+ [%%endif]
+-[%%ifdef JSC_TIMERFD]
++[%%if defined(JSC_LINUX_EXT) && defined(JSC_TIMERFD)]
+ 
+ module Timerfd = struct
+   module Clock : sig
diff --git a/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_dune-project b/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_dune-project
new file mode 100644
index 000000000000..66108ce4d5c3
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_dune-project
@@ -0,0 +1,8 @@
+--- vendor/ocaml-re-1.11.0-351-g140deeb/dune-project.orig	2024-11-01 20:09:03 UTC
++++ vendor/ocaml-re-1.11.0-351-g140deeb/dune-project
+@@ -1,4 +1,4 @@
+-(lang dune 3.12)
++(lang dune 3.7)
+ 
+ (name re)
+ 
diff --git a/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_lib_dune b/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_lib_dune
new file mode 100644
index 000000000000..443eb34f7412
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ocaml-re-1.11.0-351-g140deeb_lib_dune
@@ -0,0 +1,8 @@
+--- vendor/ocaml-re-1.11.0-351-g140deeb/lib/dune.orig	2024-11-01 20:09:03 UTC
++++ vendor/ocaml-re-1.11.0-351-g140deeb/lib/dune
+@@ -1,5 +1,4 @@
+ (library
+  (name re)
+  (synopsis "Pure OCaml regular expression library")
+- (libraries seq)
+  (public_name re))
diff --git a/textproc/sexp/files/patch-vendor_ocaml__intrinsics-0.16.1_src_int__stubs.c b/textproc/sexp/files/patch-vendor_ocaml__intrinsics-0.16.1_src_int__stubs.c
new file mode 100644
index 000000000000..450857221afd
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ocaml__intrinsics-0.16.1_src_int__stubs.c
@@ -0,0 +1,11 @@
+--- vendor/ocaml_intrinsics-0.16.1/src/int_stubs.c.orig	2024-11-19 16:18:24 UTC
++++ vendor/ocaml_intrinsics-0.16.1/src/int_stubs.c
+@@ -115,7 +115,7 @@ intnat naive_int32_popcnt (uint32_t x)
+ #define int64_ctz naive_int64_ctz
+ #define int32_popcnt naive_int32_popcnt
+ #define int64_popcnt naive_int64_popcnt
+-#elseif /* _MSC_VER */
++#elif /* _MSC_VER */
+ #error "Target not supported"
+ #endif /* _MSC_VER */
+ #endif /* defined(__GNUC__) */
diff --git a/textproc/sexp/files/patch-vendor_parsexp-14af9ab942251783de6abb20e0d0e0eec6080062_dune-project b/textproc/sexp/files/patch-vendor_parsexp-14af9ab942251783de6abb20e0d0e0eec6080062_dune-project
new file mode 100644
index 000000000000..d2786fd28308
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_parsexp-14af9ab942251783de6abb20e0d0e0eec6080062_dune-project
@@ -0,0 +1,5 @@
+--- vendor/parsexp-14af9ab942251783de6abb20e0d0e0eec6080062/dune-project.orig	2024-08-13 19:53:44 UTC
++++ vendor/parsexp-14af9ab942251783de6abb20e0d0e0eec6080062/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf_dune-project b/textproc/sexp/files/patch-vendor_ppx__assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf_dune-project
new file mode 100644
index 000000000000..43d591b3751a
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf/dune-project.orig	2024-09-26 18:08:47 UTC
++++ vendor/ppx_assert-b6e114b0a6ba8bf4fbfec005f06ed529530af3cf/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a_dune-project b/textproc/sexp/files/patch-vendor_ppx__compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a_dune-project
new file mode 100644
index 000000000000..5b333d44b79b
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a/dune-project.orig	2024-09-26 18:08:47 UTC
++++ vendor/ppx_compare-399a908f452dd0d4124e82fea686d8f35c2a3d2a/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f_dune-project b/textproc/sexp/files/patch-vendor_ppx__diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f_dune-project
new file mode 100644
index 000000000000..21dc1ca71380
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f/dune-project.orig	2024-10-08 19:31:01 UTC
++++ vendor/ppx_diff-eebb67b723e9159e36f8d4f6aa52e3d0a569f84f/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__expect-936804bbdeecfda5ae2c103da7399ba178639929_dune-project b/textproc/sexp/files/patch-vendor_ppx__expect-936804bbdeecfda5ae2c103da7399ba178639929_dune-project
new file mode 100644
index 000000000000..9b715ed42ac2
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__expect-936804bbdeecfda5ae2c103da7399ba178639929_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_expect-936804bbdeecfda5ae2c103da7399ba178639929/dune-project.orig	2024-10-08 19:31:01 UTC
++++ vendor/ppx_expect-936804bbdeecfda5ae2c103da7399ba178639929/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_dune-project
new file mode 100644
index 000000000000..af3b1081aff0
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_inline_test-0.17.0/dune-project.orig	2024-05-07 18:46:09 UTC
++++ vendor/ppx_inline_test-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_src_dune b/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_src_dune
new file mode 100644
index 000000000000..a915262497a3
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__inline__test-0.17.0_src_dune
@@ -0,0 +1,11 @@
+--- vendor/ppx_inline_test-0.17.0/src/dune.orig	2024-05-07 18:46:09 UTC
++++ vendor/ppx_inline_test-0.17.0/src/dune
+@@ -13,7 +13,5 @@
+   (runner_libraries ppx_inline_test.runner.lib)
+   (generate_runner
+    (echo "let () = Ppx_inline_test_lib.exit ();;"))
+-  (list_partitions_flags "inline-test-runner" %{library-name}
+-    -list-partitions)
+-  (flags "inline-test-runner" %{library-name} -partition %{partition}
++  (flags "inline-test-runner" %{library-name}
+     -source-tree-root %{workspace_root} -diff-cmd -)))
diff --git a/textproc/sexp/files/patch-vendor_ppx__stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4_dune-project b/textproc/sexp/files/patch-vendor_ppx__stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4_dune-project
new file mode 100644
index 000000000000..299348af47ef
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppx__stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppx_stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4/dune-project.orig	2024-10-08 19:31:01 UTC
++++ vendor/ppx_stable-ee8c759a847f21c3ee600e8da3f8a705d18c45b4/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_ast_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_ast_dune
new file mode 100644
index 000000000000..ef0af2cfb150
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_ast_dune
@@ -0,0 +1,11 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/ast/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/ast/dune
+@@ -5,7 +5,7 @@
+ (library
+  (name ppxlib_ast)
+  (public_name ppxlib.ast)
+- (libraries astlib stdlib-shims)
++ (libraries astlib)
+  (flags
+   (:standard -safe-string)
+   -w
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_metaquot__lifters_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_metaquot__lifters_dune
new file mode 100644
index 000000000000..ec608a434282
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_metaquot__lifters_dune
@@ -0,0 +1,8 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/metaquot_lifters/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/metaquot_lifters/dune
+@@ -3,4 +3,4 @@
+  (public_name ppxlib.metaquot_lifters)
+  (flags
+   (:standard -safe-string))
+- (libraries ppxlib ppxlib_traverse_builtins stdppx stdlib-shims))
++ (libraries ppxlib ppxlib_traverse_builtins stdppx))
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_dune
new file mode 100644
index 000000000000..b21bd31ff8dc
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_dune
@@ -0,0 +1,10 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/src/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/src/dune
+@@ -9,7 +9,6 @@
+   ppx_derivers
+   ppxlib_traverse_builtins
+   stdppx
+-  stdlib-shims
+   sexplib0)
+  (flags
+   (:standard -safe-string))
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_gen_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_gen_dune
new file mode 100644
index 000000000000..4bd1d748b75d
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_src_gen_dune
@@ -0,0 +1,8 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/src/gen/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/src/gen/dune
+@@ -2,4 +2,4 @@
+  (names gen_ast_pattern gen_ast_builder)
+  (flags
+   (:standard -safe-string))
+- (libraries ppxlib_ast astlib ppxlib_traverse_builtins stdppx stdlib-shims))
++ (libraries ppxlib_ast astlib ppxlib_traverse_builtins stdppx))
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_stdppx_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_stdppx_dune
new file mode 100644
index 000000000000..d340c534d03a
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_stdppx_dune
@@ -0,0 +1,10 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/stdppx/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/stdppx/dune
+@@ -1,6 +1,6 @@
+ (library
+  (name stdppx)
+  (public_name ppxlib.stdppx)
+- (libraries sexplib0 stdlib-shims)
++ (libraries sexplib0)
+  (flags
+   (:standard -safe-string)))
diff --git a/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_traverse_dune b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_traverse_dune
new file mode 100644
index 000000000000..b79ad2751f96
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66_traverse_dune
@@ -0,0 +1,10 @@
+--- vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/traverse/dune.orig	2024-09-27 08:20:04 UTC
++++ vendor/ppxlib-8a0cb7122d7d454c20d732621795d910018d1b66/traverse/dune
+@@ -4,6 +4,6 @@
+  (kind ppx_deriver)
+  (flags
+   (:standard -safe-string))
+- (libraries ppxlib ppxlib_ast ppxlib_traverse_builtins stdppx stdlib-shims)
++ (libraries ppxlib ppxlib_ast ppxlib_traverse_builtins stdppx)
+  (preprocess
+   (pps ppxlib_metaquot)))
diff --git a/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_dune-project b/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_dune-project
new file mode 100644
index 000000000000..361e52d4efc9
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_dune-project
@@ -0,0 +1,5 @@
+--- vendor/ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec/dune-project.orig	2024-11-14 21:54:09 UTC
++++ vendor/ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_src_shim.ml b/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_src_shim.ml
new file mode 100644
index 000000000000..be4c83d34f8e
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_ppxlib__jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec_src_shim.ml
@@ -0,0 +1,11 @@
+--- vendor/ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec/src/shim.ml.orig	2024-11-19 19:45:47 UTC
++++ vendor/ppxlib_jane-33fc3e4bd54ea4e3292d4d32936a46349c043fec/src/shim.ml
+@@ -618,7 +618,7 @@ module Signature_item_desc = struct
+     | Psig_modtypesubst a -> Psig_modtypesubst a
+     | Psig_open a -> Psig_open a
+     | Psig_include (a, b) ->
+-      if List.is_empty b
++      if (match b with [] -> true | _ -> false)
+       then Psig_include a
+       else
+         failwith
diff --git a/textproc/sexp/files/patch-vendor_re2-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_re2-0.17.0_dune-project
new file mode 100644
index 000000000000..9acd3981ef61
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_re2-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/re2-0.17.0/dune-project.orig	2024-05-07 18:46:09 UTC
++++ vendor/re2-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_re2-0.17.0_src_re2__c_libre2_libre2.symbols b/textproc/sexp/files/patch-vendor_re2-0.17.0_src_re2__c_libre2_libre2.symbols
new file mode 100644
index 000000000000..b522a3bb90cb
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_re2-0.17.0_src_re2__c_libre2_libre2.symbols
@@ -0,0 +1,11 @@
+--- vendor/re2-0.17.0/src/re2_c/libre2/libre2.symbols.orig	2024-05-07 18:46:09 UTC
++++ vendor/re2-0.17.0/src/re2_c/libre2/libre2.symbols
+@@ -7,7 +7,7 @@
+ 		_ZN3re211StringPiece*;
+ 		_ZNK3re211StringPiece*;
+ 		# operator<<(std::ostream&, re2::StringPiece const&)
+-		_ZlsRSoRKN3re211StringPieceE;
++		# _ZlsRSoRKN3re211StringPieceE;
+ 		# re2::FilteredRE2*
+ 		_ZN3re211FilteredRE2*;
+ 		_ZNK3re211FilteredRE210AllMatches*;
diff --git a/textproc/sexp/files/patch-vendor_sexp__select-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_sexp__select-0.17.0_dune-project
new file mode 100644
index 000000000000..82324d30fbc6
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_sexp__select-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/sexp_select-0.17.0/dune-project.orig	2024-05-07 18:46:09 UTC
++++ vendor/sexp_select-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba_dune-project b/textproc/sexp/files/patch-vendor_sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba_dune-project
new file mode 100644
index 000000000000..903e85cdbe77
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba_dune-project
@@ -0,0 +1,5 @@
+--- vendor/sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba/dune-project.orig	2024-10-08 19:31:01 UTC
++++ vendor/sexplib-aca60491fec3b7aafd0d4f29957bf34fc0f936ba/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_splittable__random-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_splittable__random-0.17.0_dune-project
new file mode 100644
index 000000000000..fc1f3a69c82a
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_splittable__random-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/splittable_random-0.17.0/dune-project.orig	2024-11-19 19:38:44 UTC
++++ vendor/splittable_random-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_time__now-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_time__now-0.17.0_dune-project
new file mode 100644
index 000000000000..8b633189d6a2
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_time__now-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/time_now-0.17.0/dune-project.orig	2024-11-19 19:37:33 UTC
++++ vendor/time_now-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/files/patch-vendor_uopt-0.17.0_dune-project b/textproc/sexp/files/patch-vendor_uopt-0.17.0_dune-project
new file mode 100644
index 000000000000..98d165bd6505
--- /dev/null
+++ b/textproc/sexp/files/patch-vendor_uopt-0.17.0_dune-project
@@ -0,0 +1,5 @@
+--- vendor/uopt-0.17.0/dune-project.orig	2024-05-07 18:46:09 UTC
++++ vendor/uopt-0.17.0/dune-project
+@@ -1 +1 @@
+-(lang dune 3.11)
++(lang dune 3.7)
diff --git a/textproc/sexp/pkg-descr b/textproc/sexp/pkg-descr
new file mode 100644
index 000000000000..7b986e7d3a80
--- /dev/null
+++ b/textproc/sexp/pkg-descr
@@ -0,0 +1,4 @@
+Sexp is a command-line tool offering commands for assembling,
+escaping, transforming, flattening, fuzzy searching, extracting,
+diff-ing, pretty-printing, converting from JSON and XML, converting to
+JSON and CSV, and other manipulations on S-expressions.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202411201629.4AKGTkoK034292>