ocaml: binsec: Wrap program to set OCAMLPATH.

Otherwise, dune plugins cannot be loaded which results in some command
line options to not work correctly. For example, binsec --help errors
with "The library "binsec.sse.checkct" can't be found in the search
paths". To fix this, this patch adds a wrap-programs phase.

Fixes: https://issues.guix.gnu.org/69996.

* gnu/packages/ocaml.scm (binsec) <arguments>: Add wrap-programs phase.

Change-Id: I31a5aaaf1fc49b46f05551f2ef66947699f602c7
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
Sören Tempel 2025-05-03 16:38:26 +02:00 committed by Andreas Enge
parent 4684d6dcd0
commit 966b6b0157
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -1459,6 +1459,17 @@ Knuths LR(1) parser construction technique.")
(sha256
(base32 "1szfqb6rj19w2jdyaxdgy3plhgr7picijf7l4k5qq80kna2h0zm8"))))
(build-system dune-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-programs
(lambda _
(let ((ocamlpath
`(,(string-append #$output "/lib/ocaml/site-lib")
,@(search-path-as-string->list (getenv "OCAMLPATH")))))
(wrap-program (string-append #$output "/bin/" "binsec")
`("OCAMLPATH" ":" prefix ,ocamlpath))))))))
(inputs (list bash-minimal))
(native-inputs (list gmp ocaml-qcheck ocaml-ounit2))
(propagated-inputs (list dune-site
ocaml-base