Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in generated dune-package file #10264

Closed
samoht opened this issue Mar 13, 2024 · 1 comment · Fixed by #10269 or ocaml/opam-repository#25615
Closed

Error in generated dune-package file #10264

samoht opened this issue Mar 13, 2024 · 1 comment · Fixed by #10269 or ocaml/opam-repository#25615
Assignees
Labels
Milestone

Comments

@samoht
Copy link
Member

samoht commented Mar 13, 2024

When trying to run the cram test in https://github.com/samoht/mirage/tree/dune-package-broken, I've got lots of errors of the form:

   $ ./test.exe clean -f errors/in_functor_not_enough.ml
+  File "/Users/samoht/git/mirage/_build/install/default/lib/mirage/dune-package", line 404, characters 6-167:
+  404 |       (alias
+  405 |        (obj_name mirage__Impl)
+  406 |        (visibility public)
+  407 |        (kind (alias (Impl)))
+  408 |        (source (path Impl Impl) (impl (path mirage__Impl.ml-gen))))
+  Error: Atom or quoted string expected
+  -> required by _build/default/errors/.config.eobjs/byte/dune__exe__Config.cmi
+  -> required by
+     _build/default/errors/.config.eobjs/native/dune__exe__Config.cmx
+  -> required by _build/default/errors/config.exe
+  run ['dune' 'build' 'errors/config.exe' '--root' '.' '--workspace'
+       'errors/test/dune-workspace.config']: exited with 1
+  [1]

This is using the same Dune 3.14.0 to build the library and run the cram tests. The dune-package is there:

Details

(lang dune 3.14)
(name mirage)
(sections (lib .) (libexec .) (bin ../../bin) (doc ../../doc/mirage))
(files
(lib
(META
dune-package
functoria/DSL.ml
functoria/DSL.mli
functoria/action.ml
functoria/action.mli
functoria/argv.ml
functoria/argv.mli
functoria/cli.ml
functoria/cli.mli
functoria/context.ml
functoria/context.mli
functoria/context_cache.ml
functoria/context_cache.mli
functoria/device.ml
functoria/device.mli
functoria/dune.ml
functoria/dune.mli
functoria/engine.ml
functoria/engine.mli
functoria/filegen.ml
functoria/filegen.mli
functoria/functoria.a
functoria/functoria.cma
functoria/functoria.cmi
functoria/functoria.cmt
functoria/functoria.cmti
functoria/functoria.cmx
functoria/functoria.cmxa
functoria/functoria.ml
functoria/functoria.mli
functoria/functoria__.cmi
functoria/functoria__.cmt
functoria/functoria__.cmx
functoria/functoria__.ml
functoria/functoria__Action.cmi
functoria/functoria__Action.cmt
functoria/functoria__Action.cmti
functoria/functoria__Action.cmx
functoria/functoria__Argv.cmi
functoria/functoria__Argv.cmt
functoria/functoria__Argv.cmti
functoria/functoria__Argv.cmx
functoria/functoria__Cli.cmi
functoria/functoria__Cli.cmt
functoria/functoria__Cli.cmti
functoria/functoria__Cli.cmx
functoria/functoria__Context.cmi
functoria/functoria__Context.cmt
functoria/functoria__Context.cmti
functoria/functoria__Context.cmx
functoria/functoria__Context_cache.cmi
functoria/functoria__Context_cache.cmt
functoria/functoria__Context_cache.cmti
functoria/functoria__Context_cache.cmx
functoria/functoria__DSL.cmi
functoria/functoria__DSL.cmt
functoria/functoria__DSL.cmti
functoria/functoria__DSL.cmx
functoria/functoria__Device.cmi
functoria/functoria__Device.cmt
functoria/functoria__Device.cmti
functoria/functoria__Device.cmx
functoria/functoria__Dune.cmi
functoria/functoria__Dune.cmt
functoria/functoria__Dune.cmti
functoria/functoria__Dune.cmx
functoria/functoria__Engine.cmi
functoria/functoria__Engine.cmt
functoria/functoria__Engine.cmti
functoria/functoria__Engine.cmx
functoria/functoria__Filegen.cmi
functoria/functoria__Filegen.cmt
functoria/functoria__Filegen.cmti
functoria/functoria__Filegen.cmx
functoria/functoria__Impl.cmi
functoria/functoria__Impl.cmt
functoria/functoria__Impl.cmti
functoria/functoria__Impl.cmx
functoria/functoria__Info.cmi
functoria/functoria__Info.cmt
functoria/functoria__Info.cmti
functoria/functoria__Info.cmx
functoria/functoria__Install.cmi
functoria/functoria__Install.cmt
functoria/functoria__Install.cmti
functoria/functoria__Install.cmx
functoria/functoria__Job.cmi
functoria/functoria__Job.cmt
functoria/functoria__Job.cmti
functoria/functoria__Job.cmx
functoria/functoria__Key.cmi
functoria/functoria__Key.cmt
functoria/functoria__Key.cmti
functoria/functoria__Key.cmx
functoria/functoria__Lib.cmi
functoria/functoria__Lib.cmt
functoria/functoria__Lib.cmti
functoria/functoria__Lib.cmx
functoria/functoria__Makefile.cmi
functoria/functoria__Makefile.cmt
functoria/functoria__Makefile.cmti
functoria/functoria__Makefile.cmx
functoria/functoria__Misc.cmi
functoria/functoria__Misc.cmt
functoria/functoria__Misc.cmti
functoria/functoria__Misc.cmx
functoria/functoria__Opam.cmi
functoria/functoria__Opam.cmt
functoria/functoria__Opam.cmti
functoria/functoria__Opam.cmx
functoria/functoria__Package.cmi
functoria/functoria__Package.cmt
functoria/functoria__Package.cmti
functoria/functoria__Package.cmx
functoria/functoria__Runtime_arg.cmi
functoria/functoria__Runtime_arg.cmt
functoria/functoria__Runtime_arg.cmti
functoria/functoria__Runtime_arg.cmx
functoria/functoria__Tool.cmi
functoria/functoria__Tool.cmt
functoria/functoria__Tool.cmti
functoria/functoria__Tool.cmx
functoria/functoria__Type.cmi
functoria/functoria__Type.cmt
functoria/functoria__Type.cmti
functoria/functoria__Type.cmx
functoria/functoria__Typeid.cmi
functoria/functoria__Typeid.cmt
functoria/functoria__Typeid.cmti
functoria/functoria__Typeid.cmx
functoria/impl.ml
functoria/impl.mli
functoria/info.ml
functoria/info.mli
functoria/install.ml
functoria/install.mli
functoria/job.ml
functoria/job.mli
functoria/key.ml
functoria/key.mli
functoria/lib.ml
functoria/lib.mli
functoria/makefile.ml
functoria/makefile.mli
functoria/misc.ml
functoria/misc.mli
functoria/opam.ml
functoria/opam.mli
functoria/package.ml
functoria/package.mli
functoria/runtime_arg.ml
functoria/runtime_arg.mli
functoria/tool.ml
functoria/tool.mli
functoria/type.ml
functoria/type.mli
functoria/typeid.ml
functoria/typeid.mli
impl/argv.ml
impl/argv.mli
impl/arp.ml
impl/arp.mli
impl/block.ml
impl/block.mli
impl/conduit.ml
impl/conduit.mli
impl/dns.ml
impl/dns.mli
impl/ethernet.ml
impl/ethernet.mli
impl/git.ml
impl/git.mli
impl/happy_eyeballs.ml
impl/happy_eyeballs.mli
impl/http.ml
impl/http.mli
impl/icmp.ml
impl/icmp.mli
impl/impl.ml
impl/ip.ml
impl/ip.mli
impl/kv.ml
impl/kv.mli
impl/mclock.ml
impl/mclock.mli
impl/mimic.ml
impl/misc.ml
impl/misc.mli
impl/network.ml
impl/network.mli
impl/pclock.ml
impl/pclock.mli
impl/qubesdb.ml
impl/qubesdb.mli
impl/random.ml
impl/random.mli
impl/reporter.ml
impl/reporter.mli
impl/resolver.ml
impl/resolver.mli
impl/stack.ml
impl/stack.mli
impl/syslog.ml
impl/syslog.mli
impl/tcp.ml
impl/tcp.mli
impl/time.ml
impl/time.mli
impl/udp.ml
impl/udp.mli
mirage.a
mirage.cma
mirage.cmi
mirage.cmt
mirage.cmti
mirage.cmx
mirage.cmxa
mirage.ml
mirage.mli
mirage__.cmi
mirage__.cmt
mirage__.cmx
mirage__.ml
mirage__Impl.cmi
mirage__Impl.cmt
mirage__Impl.cmx
mirage__Impl__Argv.cmi
mirage__Impl__Argv.cmt
mirage__Impl__Argv.cmti
mirage__Impl__Argv.cmx
mirage__Impl__Arp.cmi
mirage__Impl__Arp.cmt
mirage__Impl__Arp.cmti
mirage__Impl__Arp.cmx
mirage__Impl__Block.cmi
mirage__Impl__Block.cmt
mirage__Impl__Block.cmti
mirage__Impl__Block.cmx
mirage__Impl__Conduit.cmi
mirage__Impl__Conduit.cmt
mirage__Impl__Conduit.cmti
mirage__Impl__Conduit.cmx
mirage__Impl__Dns.cmi
mirage__Impl__Dns.cmt
mirage__Impl__Dns.cmti
mirage__Impl__Dns.cmx
mirage__Impl__Ethernet.cmi
mirage__Impl__Ethernet.cmt
mirage__Impl__Ethernet.cmti
mirage__Impl__Ethernet.cmx
mirage__Impl__Git.cmi
mirage__Impl__Git.cmt
mirage__Impl__Git.cmti
mirage__Impl__Git.cmx
mirage__Impl__Happy_eyeballs.cmi
mirage__Impl__Happy_eyeballs.cmt
mirage__Impl__Happy_eyeballs.cmti
mirage__Impl__Happy_eyeballs.cmx
mirage__Impl__Http.cmi
mirage__Impl__Http.cmt
mirage__Impl__Http.cmti
mirage__Impl__Http.cmx
mirage__Impl__Icmp.cmi
mirage__Impl__Icmp.cmt
mirage__Impl__Icmp.cmti
mirage__Impl__Icmp.cmx
mirage__Impl__Ip.cmi
mirage__Impl__Ip.cmt
mirage__Impl__Ip.cmti
mirage__Impl__Ip.cmx
mirage__Impl__Kv.cmi
mirage__Impl__Kv.cmt
mirage__Impl__Kv.cmti
mirage__Impl__Kv.cmx
mirage__Impl__Mclock.cmi
mirage__Impl__Mclock.cmt
mirage__Impl__Mclock.cmti
mirage__Impl__Mclock.cmx
mirage__Impl__Mimic.cmi
mirage__Impl__Mimic.cmt
mirage__Impl__Mimic.cmx
mirage__Impl__Misc.cmi
mirage__Impl__Misc.cmt
mirage__Impl__Misc.cmti
mirage__Impl__Misc.cmx
mirage__Impl__Network.cmi
mirage__Impl__Network.cmt
mirage__Impl__Network.cmti
mirage__Impl__Network.cmx
mirage__Impl__Pclock.cmi
mirage__Impl__Pclock.cmt
mirage__Impl__Pclock.cmti
mirage__Impl__Pclock.cmx
mirage__Impl__Qubesdb.cmi
mirage__Impl__Qubesdb.cmt
mirage__Impl__Qubesdb.cmti
mirage__Impl__Qubesdb.cmx
mirage__Impl__Random.cmi
mirage__Impl__Random.cmt
mirage__Impl__Random.cmti
mirage__Impl__Random.cmx
mirage__Impl__Reporter.cmi
mirage__Impl__Reporter.cmt
mirage__Impl__Reporter.cmti
mirage__Impl__Reporter.cmx
mirage__Impl__Resolver.cmi
mirage__Impl__Resolver.cmt
mirage__Impl__Resolver.cmti
mirage__Impl__Resolver.cmx
mirage__Impl__Stack.cmi
mirage__Impl__Stack.cmt
mirage__Impl__Stack.cmti
mirage__Impl__Stack.cmx
mirage__Impl__Syslog.cmi
mirage__Impl__Syslog.cmt
mirage__Impl__Syslog.cmti
mirage__Impl__Syslog.cmx
mirage__Impl__Tcp.cmi
mirage__Impl__Tcp.cmt
mirage__Impl__Tcp.cmti
mirage__Impl__Tcp.cmx
mirage__Impl__Time.cmi
mirage__Impl__Time.cmt
mirage__Impl__Time.cmti
mirage__Impl__Time.cmx
mirage__Impl__Udp.cmi
mirage__Impl__Udp.cmt
mirage__Impl__Udp.cmti
mirage__Impl__Udp.cmx
mirage__Mirage_key.cmi
mirage__Mirage_key.cmt
mirage__Mirage_key.cmti
mirage__Mirage_key.cmx
mirage__Mirage_runtime_arg.cmi
mirage__Mirage_runtime_arg.cmt
mirage__Mirage_runtime_arg.cmti
mirage__Mirage_runtime_arg.cmx
mirage__Target.cmi
mirage__Target.cmt
mirage__Target.cmx
mirage__Target__.cmi
mirage__Target__.cmt
mirage__Target__.cmx
mirage__Target__.ml
mirage__Target__Libvirt.cmi
mirage__Target__Libvirt.cmt
mirage__Target__Libvirt.cmti
mirage__Target__Libvirt.cmx
mirage__Target__S.cmi
mirage__Target__S.cmt
mirage__Target__S.cmx
mirage__Target__Solo5.cmi
mirage__Target__Solo5.cmt
mirage__Target__Solo5.cmx
mirage__Target__Unix.cmi
mirage__Target__Unix.cmt
mirage__Target__Unix.cmx
mirage__Target__Xen.cmi
mirage__Target__Xen.cmt
mirage__Target__Xen.cmti
mirage__Target__Xen.cmx
mirage_key.ml
mirage_key.mli
mirage_runtime_arg.ml
mirage_runtime_arg.mli
opam
target/libvirt.ml
target/libvirt.mli
target/s.ml
target/solo5.ml
target/target.ml
target/unix.ml
target/xen.ml
target/xen.mli))
(libexec (functoria/functoria.cmxs mirage.cmxs))
(bin (mirage))
(doc (CHANGES.md LICENSE.md README.md)))
(library
(name mirage)
(kind normal)
(archives (byte mirage.cma) (native mirage.cmxa))
(plugins (byte mirage.cma) (native mirage.cmxs))
(native_archives mirage.a)
(requires ipaddr bos mirage.functoria)
(main_module_name Mirage)
(modes byte native)
(modules
(wrapped
(group
(alias
(obj_name mirage__)
(visibility public)
(kind alias)
(source (path Mirage__) (impl (path mirage__.ml-gen))))
(name Mirage)
(modules
(group
(alias
(obj_name mirage__Impl)
(visibility public)
(kind (alias (Impl)))
(source (path Impl Impl) (impl (path mirage__Impl.ml-gen))))
(name Impl)
(modules
(module
(obj_name mirage__Impl__Argv)
(visibility public)
(source
(path Impl Argv)
(intf (path impl/argv.mli))
(impl (path impl/argv.ml))))
(module
(obj_name mirage__Impl__Arp)
(visibility public)
(source
(path Impl Arp)
(intf (path impl/arp.mli))
(impl (path impl/arp.ml))))
(module
(obj_name mirage__Impl__Block)
(visibility public)
(source
(path Impl Block)
(intf (path impl/block.mli))
(impl (path impl/block.ml))))
(module
(obj_name mirage__Impl__Conduit)
(visibility public)
(source
(path Impl Conduit)
(intf (path impl/conduit.mli))
(impl (path impl/conduit.ml))))
(module
(obj_name mirage__Impl__Dns)
(visibility public)
(source
(path Impl Dns)
(intf (path impl/dns.mli))
(impl (path impl/dns.ml))))
(module
(obj_name mirage__Impl__Ethernet)
(visibility public)
(source
(path Impl Ethernet)
(intf (path impl/ethernet.mli))
(impl (path impl/ethernet.ml))))
(module
(obj_name mirage__Impl__Git)
(visibility public)
(source
(path Impl Git)
(intf (path impl/git.mli))
(impl (path impl/git.ml))))
(module
(obj_name mirage__Impl__Happy_eyeballs)
(visibility public)
(source
(path Impl Happy_eyeballs)
(intf (path impl/happy_eyeballs.mli))
(impl (path impl/happy_eyeballs.ml))))
(module
(obj_name mirage__Impl__Http)
(visibility public)
(source
(path Impl Http)
(intf (path impl/http.mli))
(impl (path impl/http.ml))))
(module
(obj_name mirage__Impl__Icmp)
(visibility public)
(source
(path Impl Icmp)
(intf (path impl/icmp.mli))
(impl (path impl/icmp.ml))))
(module
(obj_name mirage__Impl__Ip)
(visibility public)
(source
(path Impl Ip)
(intf (path impl/ip.mli))
(impl (path impl/ip.ml))))
(module
(obj_name mirage__Impl__Kv)
(visibility public)
(source
(path Impl Kv)
(intf (path impl/kv.mli))
(impl (path impl/kv.ml))))
(module
(obj_name mirage__Impl__Mclock)
(visibility public)
(source
(path Impl Mclock)
(intf (path impl/mclock.mli))
(impl (path impl/mclock.ml))))
(module
(obj_name mirage__Impl__Mimic)
(visibility public)
(source (path Impl Mimic) (impl (path impl/mimic.ml))))
(module
(obj_name mirage__Impl__Misc)
(visibility public)
(source
(path Impl Misc)
(intf (path impl/misc.mli))
(impl (path impl/misc.ml))))
(module
(obj_name mirage__Impl__Network)
(visibility public)
(source
(path Impl Network)
(intf (path impl/network.mli))
(impl (path impl/network.ml))))
(module
(obj_name mirage__Impl__Pclock)
(visibility public)
(source
(path Impl Pclock)
(intf (path impl/pclock.mli))
(impl (path impl/pclock.ml))))
(module
(obj_name mirage__Impl__Qubesdb)
(visibility public)
(source
(path Impl Qubesdb)
(intf (path impl/qubesdb.mli))
(impl (path impl/qubesdb.ml))))
(module
(obj_name mirage__Impl__Random)
(visibility public)
(source
(path Impl Random)
(intf (path impl/random.mli))
(impl (path impl/random.ml))))
(module
(obj_name mirage__Impl__Reporter)
(visibility public)
(source
(path Impl Reporter)
(intf (path impl/reporter.mli))
(impl (path impl/reporter.ml))))
(module
(obj_name mirage__Impl__Resolver)
(visibility public)
(source
(path Impl Resolver)
(intf (path impl/resolver.mli))
(impl (path impl/resolver.ml))))
(module
(obj_name mirage__Impl__Stack)
(visibility public)
(source
(path Impl Stack)
(intf (path impl/stack.mli))
(impl (path impl/stack.ml))))
(module
(obj_name mirage__Impl__Syslog)
(visibility public)
(source
(path Impl Syslog)
(intf (path impl/syslog.mli))
(impl (path impl/syslog.ml))))
(module
(obj_name mirage__Impl__Tcp)
(visibility public)
(source
(path Impl Tcp)
(intf (path impl/tcp.mli))
(impl (path impl/tcp.ml))))
(module
(obj_name mirage__Impl__Time)
(visibility public)
(source
(path Impl Time)
(intf (path impl/time.mli))
(impl (path impl/time.ml))))
(module
(obj_name mirage__Impl__Udp)
(visibility public)
(source
(path Impl Udp)
(intf (path impl/udp.mli))
(impl (path impl/udp.ml))))))
(module
(obj_name mirage)
(visibility public)
(source (path Mirage) (intf (path mirage.mli)) (impl (path mirage.ml))))
(module
(obj_name mirage__Mirage_key)
(visibility public)
(source
(path Mirage_key)
(intf (path mirage_key.mli))
(impl (path mirage_key.ml))))
(module
(obj_name mirage__Mirage_runtime_arg)
(visibility public)
(source
(path Mirage_runtime_arg)
(intf (path mirage_runtime_arg.mli))
(impl (path mirage_runtime_arg.ml))))
(group
(alias
(obj_name mirage__Target__)
(visibility public)
(kind (alias (Target)))
(source (path Mirage__Target__) (impl (path mirage__Target__.ml-gen))))
(name Target)
(modules
(module
(obj_name mirage__Target__Libvirt)
(visibility public)
(source
(path Target Libvirt)
(intf (path target/libvirt.mli))
(impl (path target/libvirt.ml))))
(module
(obj_name mirage__Target__S)
(visibility public)
(source (path Target S) (impl (path target/s.ml))))
(module
(obj_name mirage__Target__Solo5)
(visibility public)
(source (path Target Solo5) (impl (path target/solo5.ml))))
(module
(obj_name mirage__Target)
(visibility public)
(source (path Target Target) (impl (path target/target.ml))))
(module
(obj_name mirage__Target__Unix)
(visibility public)
(source (path Target Unix) (impl (path target/unix.ml))))
(module
(obj_name mirage__Target__Xen)
(visibility public)
(source
(path Target Xen)
(intf (path target/xen.mli))
(impl (path target/xen.ml))))))))
(wrapped true))))
(library
(name mirage.functoria)
(kind normal)
(archives (byte functoria/functoria.cma) (native functoria/functoria.cmxa))
(plugins (byte functoria/functoria.cma) (native functoria/functoria.cmxs))
(native_archives functoria/functoria.a)
(requires
uri
emile
unix
cmdliner
rresult
fmt
astring
fpath
bos
fmt.cli
logs.fmt
fmt.tty
logs.cli)
(main_module_name Functoria)
(modes byte native)
(modules
(wrapped
(group
(alias
(obj_name functoria__)
(visibility public)
(kind alias)
(source (path Functoria__) (impl (path functoria/functoria__.ml-gen))))
(name Functoria)
(modules
(module
(obj_name functoria__Action)
(visibility public)
(source
(path Action)
(intf (path functoria/action.mli))
(impl (path functoria/action.ml))))
(module
(obj_name functoria__Argv)
(visibility public)
(source
(path Argv)
(intf (path functoria/argv.mli))
(impl (path functoria/argv.ml))))
(module
(obj_name functoria__Cli)
(visibility public)
(source
(path Cli)
(intf (path functoria/cli.mli))
(impl (path functoria/cli.ml))))
(module
(obj_name functoria__Context)
(visibility public)
(source
(path Context)
(intf (path functoria/context.mli))
(impl (path functoria/context.ml))))
(module
(obj_name functoria__Context_cache)
(visibility public)
(source
(path Context_cache)
(intf (path functoria/context_cache.mli))
(impl (path functoria/context_cache.ml))))
(module
(obj_name functoria__DSL)
(visibility public)
(source
(path DSL)
(intf (path functoria/DSL.mli))
(impl (path functoria/DSL.ml))))
(module
(obj_name functoria__Device)
(visibility public)
(source
(path Device)
(intf (path functoria/device.mli))
(impl (path functoria/device.ml))))
(module
(obj_name functoria__Dune)
(visibility public)
(source
(path Dune)
(intf (path functoria/dune.mli))
(impl (path functoria/dune.ml))))
(module
(obj_name functoria__Engine)
(visibility public)
(source
(path Engine)
(intf (path functoria/engine.mli))
(impl (path functoria/engine.ml))))
(module
(obj_name functoria__Filegen)
(visibility public)
(source
(path Filegen)
(intf (path functoria/filegen.mli))
(impl (path functoria/filegen.ml))))
(module
(obj_name functoria)
(visibility public)
(source
(path Functoria)
(intf (path functoria/functoria.mli))
(impl (path functoria/functoria.ml))))
(module
(obj_name functoria__Impl)
(visibility public)
(source
(path Impl)
(intf (path functoria/impl.mli))
(impl (path functoria/impl.ml))))
(module
(obj_name functoria__Info)
(visibility public)
(source
(path Info)
(intf (path functoria/info.mli))
(impl (path functoria/info.ml))))
(module
(obj_name functoria__Install)
(visibility public)
(source
(path Install)
(intf (path functoria/install.mli))
(impl (path functoria/install.ml))))
(module
(obj_name functoria__Job)
(visibility public)
(source
(path Job)
(intf (path functoria/job.mli))
(impl (path functoria/job.ml))))
(module
(obj_name functoria__Key)
(visibility public)
(source
(path Key)
(intf (path functoria/key.mli))
(impl (path functoria/key.ml))))
(module
(obj_name functoria__Lib)
(visibility public)
(source
(path Lib)
(intf (path functoria/lib.mli))
(impl (path functoria/lib.ml))))
(module
(obj_name functoria__Makefile)
(visibility public)
(source
(path Makefile)
(intf (path functoria/makefile.mli))
(impl (path functoria/makefile.ml))))
(module
(obj_name functoria__Misc)
(visibility public)
(source
(path Misc)
(intf (path functoria/misc.mli))
(impl (path functoria/misc.ml))))
(module
(obj_name functoria__Opam)
(visibility public)
(source
(path Opam)
(intf (path functoria/opam.mli))
(impl (path functoria/opam.ml))))
(module
(obj_name functoria__Package)
(visibility public)
(source
(path Package)
(intf (path functoria/package.mli))
(impl (path functoria/package.ml))))
(module
(obj_name functoria__Runtime_arg)
(visibility public)
(source
(path Runtime_arg)
(intf (path functoria/runtime_arg.mli))
(impl (path functoria/runtime_arg.ml))))
(module
(obj_name functoria__Tool)
(visibility public)
(source
(path Tool)
(intf (path functoria/tool.mli))
(impl (path functoria/tool.ml))))
(module
(obj_name functoria__Type)
(visibility public)
(source
(path Type)
(intf (path functoria/type.mli))
(impl (path functoria/type.ml))))
(module
(obj_name functoria__Typeid)
(visibility public)
(source
(path Typeid)
(intf (path functoria/typeid.mli))
(impl (path functoria/typeid.ml))))))
(wrapped true))))

@emillon emillon self-assigned this Mar 14, 2024
emillon added a commit to emillon/dune that referenced this issue Mar 14, 2024
Signed-off-by: Etienne Millon <[email protected]>
emillon added a commit to emillon/dune that referenced this issue Mar 14, 2024
This is only one part of the issue; the other part is more difficult to
test because it is related to `Modules.t` round-tripping correctly.

Signed-off-by: Etienne Millon <[email protected]>
emillon added a commit to emillon/dune that referenced this issue Mar 14, 2024
Fixes ocaml#10264

This part is harder to test because we can't easily load `dune-package`
files in tests, nor build `Modules.t` values.

Signed-off-by: Etienne Millon <[email protected]>
@emillon
Copy link
Collaborator

emillon commented Mar 14, 2024

Fix in #10269.

@rgrinberg rgrinberg added the bug label Mar 15, 2024
emillon added a commit that referenced this issue Mar 15, 2024
…10269)

* test: add repro for #10264

This is only one part of the issue; the other part is more difficult to
test because it is related to `Modules.t` round-tripping correctly.

Signed-off-by: Etienne Millon <[email protected]>

* fix: make `Module.Kind.t` round-trip correctly

Signed-off-by: Etienne Millon <[email protected]>

* fix: make Modules.t round-trip

Fixes #10264

This part is harder to test because we can't easily load `dune-package`
files in tests, nor build `Modules.t` values.

Signed-off-by: Etienne Millon <[email protected]>

* changelog

Signed-off-by: Etienne Millon <[email protected]>

---------

Signed-off-by: Etienne Millon <[email protected]>
@rgrinberg rgrinberg added this to the 3.15.0 milestone Mar 15, 2024
Leonidas-from-XIV added a commit to Leonidas-from-XIV/opam-repository that referenced this issue Mar 26, 2024
CHANGES:

### Added

- Add link flags to to `ocamlmklib` for ctypes stubs (ocaml/dune#8784, @frejsoya)

- Remove some unnecessary limitations in the expansions of percent forms in
  install stanza. For example, the `%{env:..}` form can be used to select files
  to be installed. (ocaml/dune#10160, @rgrinberg)

- Allow artifact expansion percent forms (`%{cma:..}`, `%{cmo:..}`, etc.) in
  more contexts. Previously, they would be randomly forbidden in some fields.
  (ocaml/dune#10169, @rgrinberg)

- Allow `%{inline_tests}` in more contexts (ocaml/dune#10191, @rgrinberg)

- Remove limitations on percent forms in the `(enabled_if ..)` field of
  libraries (ocaml/dune#10250, @rgrinberg)

- Support dialects in `dune describe pp` (ocaml/dune#10283, @emillon)

- Allow defining executables or melange emit stanzas with the same name in the
  same folder under different contexts. (ocaml/dune#10220, @rgrinberg, @jchavarri)

### Fixed

- coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid
  Coq/OCaml projects when `coqc` is not present. Thanks to @vzaliva for the
  test case and report (ocaml/dune#9845, fixes ocaml/dune#9818, @rgrinberg, @ejgallego)

- Fix conditional source selection with `select` on `bigarray` in OCaml 5
  (ocaml/dune#10011, @moyodiallo)

- melange: fix inconsistency in virtual library implementation. Concrete
  modules within a virtual library can now refer to its virtual modules too
  (ocaml/dune#10051, fixes ocaml/dune#7104, @anmonteiro)

- melange: fix a bug that would cause stale `import` paths to be emitted when
  moving source files within `(include_subdirs ..)` (ocaml/dune#10286, fixes ocaml/dune#9190,
  @anmonteiro)

- Dune file formatting: output utf8 if input is correctly encoded (ocaml/dune#10113,
  fixes ocaml/dune#9728, @moyodiallo)

- Fix expanding dependencies and locks specified in the cram stanza.
  Previously, they would be installed in the context of the cram test, rather
  than the cram stanza itself (ocaml/dune#10165, @rgrinberg)

- Fix bug with `dune exec --watch` where the working directory would always be
  set to the project root rather than the directory where the command was run
  (ocaml/dune#10262, @gridbugs)

- Regression fix: sign executables that are promoted into the source tree
  (ocaml/dune#10263, fixes ocaml/dune#9272, @emillon)

- Fix crash when decoding dune-package for libraries with `(include_subdirs
  qualified)` (ocaml/dune#10269, fixes ocaml/dune#10264, @emillon)

### Changed

- Remove the `--react-to-insignificant-changes` option. (ocaml/dune#10083, @rgrinberg)
Leonidas-from-XIV added a commit to Leonidas-from-XIV/opam-repository that referenced this issue Apr 3, 2024
CHANGES:

### Added

- Add link flags to to `ocamlmklib` for ctypes stubs (ocaml/dune#8784, @frejsoya)

- Remove some unnecessary limitations in the expansions of percent forms in
  install stanza. For example, the `%{env:..}` form can be used to select files
  to be installed. (ocaml/dune#10160, @rgrinberg)

- Allow artifact expansion percent forms (`%{cma:..}`, `%{cmo:..}`, etc.) in
  more contexts. Previously, they would be randomly forbidden in some fields.
  (ocaml/dune#10169, @rgrinberg)

- Allow `%{inline_tests}` in more contexts (ocaml/dune#10191, @rgrinberg)

- Remove limitations on percent forms in the `(enabled_if ..)` field of
  libraries (ocaml/dune#10250, @rgrinberg)

- Support dialects in `dune describe pp` (ocaml/dune#10283, @emillon)

- Allow defining executables or melange emit stanzas with the same name in the
  same folder under different contexts. (ocaml/dune#10220, @rgrinberg, @jchavarri)

### Fixed

- coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid
  Coq/OCaml projects when `coqc` is not present. Thanks to @vzaliva for the
  test case and report (ocaml/dune#9845, fixes ocaml/dune#9818, @rgrinberg, @ejgallego)

- Fix conditional source selection with `select` on `bigarray` in OCaml 5
  (ocaml/dune#10011, @moyodiallo)

- melange: fix inconsistency in virtual library implementation. Concrete
  modules within a virtual library can now refer to its virtual modules too
  (ocaml/dune#10051, fixes ocaml/dune#7104, @anmonteiro)

- melange: fix a bug that would cause stale `import` paths to be emitted when
  moving source files within `(include_subdirs ..)` (ocaml/dune#10286, fixes ocaml/dune#9190,
  @anmonteiro)

- Dune file formatting: output utf8 if input is correctly encoded (ocaml/dune#10113,
  fixes ocaml/dune#9728, @moyodiallo)

- Fix expanding dependencies and locks specified in the cram stanza.
  Previously, they would be installed in the context of the cram test, rather
  than the cram stanza itself (ocaml/dune#10165, @rgrinberg)

- Fix bug with `dune exec --watch` where the working directory would always be
  set to the project root rather than the directory where the command was run
  (ocaml/dune#10262, @gridbugs)

- Regression fix: sign executables that are promoted into the source tree
  (ocaml/dune#10263, fixes ocaml/dune#9272, @emillon)

- Fix crash when decoding dune-package for libraries with `(include_subdirs
  qualified)` (ocaml/dune#10269, fixes ocaml/dune#10264, @emillon)

### Changed

- Remove the `--react-to-insignificant-changes` option. (ocaml/dune#10083, @rgrinberg)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment