# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CRATES="adler32@1.2.0 aho-corasick@1.1.4 android_system_properties@0.1.5 anstream@0.6.21 anstyle-parse@0.2.7 anstyle-query@1.1.4 anstyle-wincon@3.0.10 anstyle@1.0.13 anyhow@1.0.100 atomic-waker@1.1.2 autocfg@1.5.0 base64@0.22.1 bitflags@2.10.0 block2@0.6.2 bumpalo@3.19.0 bytes@1.10.1 cc@1.2.44 cfg-if@1.0.4 cfg_aliases@0.2.1 chrono@0.4.42 clap-verbosity-flag@3.0.4 clap@4.5.51 clap_builder@4.5.51 clap_derive@4.5.49 clap_lex@0.7.6 colorchoice@1.0.4 core-foundation-sys@0.8.7 crc32fast@1.5.0 ctrlc@3.5.1 cty@0.2.2 dispatch2@0.3.0 displaydoc@0.2.5 either@1.15.0 env_logger@0.10.2 find-msvc-tools@0.1.4 fnv@1.0.7 form_urlencoded@1.2.2 fuchsia-cprng@0.1.1 futures-channel@0.3.31 futures-core@0.3.31 futures-io@0.3.31 futures-sink@0.3.31 futures-task@0.3.31 futures-util@0.3.31 getrandom@0.2.16 getrandom@0.3.4 heck@0.5.0 hermit-abi@0.5.2 http-body-util@0.1.3 http-body@1.0.1 http@1.3.1 httparse@1.10.1 humantime@2.3.0 hyper-rustls@0.27.7 hyper-util@0.1.17 hyper@1.7.0 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.64 icu_collections@2.1.1 icu_locale_core@2.1.1 icu_normalizer@2.1.1 icu_normalizer_data@2.1.1 icu_properties@2.1.1 icu_properties_data@2.1.1 icu_provider@2.1.1 idna@1.1.0 idna_adapter@1.2.1 ipnet@2.11.0 iri-string@0.7.8 is-terminal@0.4.17 is_terminal_polyfill@1.70.2 itertools@0.10.5 itoa@1.0.15 js-sys@0.3.82 libc@0.2.177 libflate@1.4.0 libflate_lz77@1.2.0 litemap@0.8.1 log@0.4.28 lru-slab@0.1.2 memchr@2.7.6 mio@1.1.0 names@0.14.0 nix@0.30.1 num-traits@0.2.19 objc2-encode@4.1.0 objc2@0.6.3 ocaml-boxroot-sys@0.4.0 ocaml-derive@1.0.0 ocaml-sys@0.26.0 ocaml@1.3.0 once_cell@1.21.3 once_cell_polyfill@1.70.2 percent-encoding@2.3.2 pin-project-lite@0.2.16 pin-utils@0.1.0 potential_utf@0.1.4 ppv-lite86@0.2.21 pretty_env_logger@0.5.0 proc-macro2@1.0.103 prost-derive@0.11.9 prost@0.11.9 pyroscope@0.5.8 quinn-proto@0.11.13 quinn-udp@0.5.14 quinn@0.11.9 quote@1.0.41 r-efi@5.3.0 rand@0.4.6 rand@0.8.5 rand@0.9.2 rand_chacha@0.3.1 rand_chacha@0.9.0 rand_core@0.3.1 rand_core@0.4.2 rand_core@0.6.4 rand_core@0.9.3 rdrand@0.4.0 regex-automata@0.4.13 regex-syntax@0.8.8 regex@1.12.2 remove_dir_all@0.5.3 reqwest@0.12.24 ring@0.17.14 rle-decode-fast@1.0.3 rustc-hash@2.1.1 rustls-pki-types@1.13.0 rustls-webpki@0.103.8 rustls@0.23.34 rustversion@1.0.22 ryu@1.0.20 serde@1.0.228 serde_core@1.0.228 serde_derive@1.0.228 serde_json@1.0.145 serde_urlencoded@0.7.1 shlex@1.3.0 slab@0.4.11 smallvec@1.15.1 socket2@0.6.1 stable_deref_trait@1.2.1 strsim@0.11.1 subtle@2.6.1 syn@1.0.109 syn@2.0.108 sync_wrapper@1.0.2 synstructure@0.13.2 tempdir@0.3.7 termcolor@1.4.1 thiserror-impl@1.0.69 thiserror-impl@2.0.17 thiserror@1.0.69 thiserror@2.0.17 tinystr@0.8.2 tinyvec@1.10.0 tinyvec_macros@0.1.1 tokio-rustls@0.26.4 tokio@1.48.0 tower-http@0.6.6 tower-layer@0.3.3 tower-service@0.3.3 tower@0.5.2 tracing-core@0.1.34 tracing@0.1.41 try-lock@0.2.5 unicode-ident@1.0.22 untrusted@0.9.0 url@2.5.7 utf8_iter@1.0.4 utf8parse@0.2.2 want@0.3.1 wasi@0.11.1+wasi-snapshot-preview1 wasip2@1.0.1+wasi-0.2.4 wasm-bindgen-futures@0.4.55 wasm-bindgen-macro-support@0.2.105 wasm-bindgen-macro@0.2.105 wasm-bindgen-shared@0.2.105 wasm-bindgen@0.2.105 web-sys@0.3.82 web-time@1.1.0 webpki-roots@1.0.3 winapi-i686-pc-windows-gnu@0.4.0 winapi-util@0.1.11 winapi-x86_64-pc-windows-gnu@0.4.0 winapi@0.3.9 windows-core@0.62.2 windows-implement@0.60.2 windows-interface@0.59.3 windows-link@0.2.1 windows-result@0.4.1 windows-strings@0.5.1 windows-sys@0.52.0 windows-sys@0.60.2 windows-sys@0.61.2 windows-targets@0.52.6 windows-targets@0.53.5 windows_aarch64_gnullvm@0.52.6 windows_aarch64_gnullvm@0.53.1 windows_aarch64_msvc@0.52.6 windows_aarch64_msvc@0.53.1 windows_i686_gnu@0.52.6 windows_i686_gnu@0.53.1 windows_i686_gnullvm@0.52.6 windows_i686_gnullvm@0.53.1 windows_i686_msvc@0.52.6 windows_i686_msvc@0.53.1 windows_x86_64_gnu@0.52.6 windows_x86_64_gnu@0.53.1 windows_x86_64_gnullvm@0.52.6 windows_x86_64_gnullvm@0.53.1 windows_x86_64_msvc@0.52.6 windows_x86_64_msvc@0.53.1 wit-bindgen@0.46.0 writeable@0.6.2 yoke-derive@0.8.1 yoke@0.8.1 zerocopy-derive@0.8.27 zerocopy@0.8.27 zerofrom-derive@0.1.6 zerofrom@0.1.6 zeroize@1.8.2 zerotrie@0.2.3 zerovec-derive@0.11.2 zerovec@0.11.5" DUNE_PKG_NAME="pyro-caml pyro-caml-instruments pyro-caml-ppx" RUST_MIN_VER="1.85.0" inherit cargo dune COMMIT="8376ab721f0086a30748d5552ad22cd105a73bb4" DESCRIPTION="A statistical continuous profiler for OCaml" HOMEPAGE="https://github.com/semgrep/pyro-caml" SRC_URI="https://github.com/semgrep/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS}" S="${WORKDIR}/${PN}-${COMMIT}" LICENSE="Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT Unicode-3.0 ZLIB" SLOT="0/${PV}" KEYWORDS="~amd64" IUSE="+ocamlopt" RDEPEND="dev-ml/logs:0=[ocamlopt?] dev-ml/ppx_deriving:0=[ocamlopt?] ~dev-ml/ppxlib-0.35.0:0=[ocamlopt?] || ( dev-lang/rust dev-lang/rust-bin )" src_compile() { cargo_src_compile dune-compile ${DUNE_PKG_NAME} } src_test() { cargo_src_test dune-test ${DUNE_PKG_NAME} } src_install() { cargo_src_install dune_src_install }