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

dns.lwt dependencies in opam have gone crazy #135

Closed
avsm opened this Issue Mar 31, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@avsm
Member

avsm commented Mar 31, 2017

To get dns.lwt, we now need to install these packages in opam:

             "dns"  { >= "0.15.3" }
+            "mirage-time" "mirage-stack-lwt" "mirage-kv-lwt" "duration" "mirage-profile"
+            # above are needed for dns.lwt

That's a lot to digest. We should have a dns-lwt package instead that captures these dependencies concretely.

avsm added a commit to mirage/opam-repository that referenced this issue Mar 31, 2017

jitsu: install the array of packages required for dns.lwt
And yes, I am fixing the rather crazy set of depopts that dns.lwt
seems to be pulling in these days; see
mirage/ocaml-dns#135
@hannesm

This comment has been minimized.

Show comment
Hide comment
@hannesm

hannesm Mar 31, 2017

Member

I'm not sure why you're getting this... there's certainly a bunch of stuff needed for testing, but for the lwt sublibrary, you only need cmdliner, lwt, and mirage-profile (for unknown reasons).

Member

hannesm commented Mar 31, 2017

I'm not sure why you're getting this... there's certainly a bunch of stuff needed for testing, but for the lwt sublibrary, you only need cmdliner, lwt, and mirage-profile (for unknown reasons).

@hannesm

This comment has been minimized.

Show comment
Hide comment
@hannesm

hannesm Apr 1, 2017

Member

FWIW:

$  opam switch -A 4.04.0 fresh

=-=- Installing compiler 4.04.0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default.comp] https://github.com/ocaml/ocaml/archive/4.04.0.tar.gz downloaded
Now compiling OCaml. This may take a while, please bear with us...
Done.

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
∗  installed base-bigarray.base
∗  installed base-threads.base
∗  installed base-unix.base
Done.
# To setup the new switch in the current shell, you need to run:
eval `opam config env`
$ eval `opam config env`
$ opam install lwt mirage-profile cmdliner dns
The following actions will be performed:
  ∗  install conf-m4                 1          [required by ocamlfind]
  ∗  install result                  1.2        [required by dns, cmdliner, lwt]
  ∗  install ocamlbuild              0.11.0     [required by lwt, cmdliner, dns, mirage-profile]
  ∗  install conf-which              1          [required by hashcons]
  ∗  install ocamlfind               1.7.1      [required by lwt, cmdliner, dns, mirage-profile]
  ∗  install conf-autoconf           0.1        [required by hashcons]
  ∗  install topkg                   0.9.0      [required by cmdliner, dns]
  ∗  install ppx_tools               5.0        [required by lwt, dns, mirage-profile]
  ∗  install jbuilder                1.0+beta6  [required by sexplib, ocaml-migrate-parsetree, ppx_sexp_conv]
  ∗  install base-bytes              base       [required by dns]
  ∗  install hashcons                1.2        [required by dns]
  ∗  install cmdliner                1.0.0    
  ∗  install lwt                     2.7.0    
  ∗  install sexplib                 v0.9.1     [required by ipaddr, cstruct, uri]
  ∗  install ppx_traverse_builtins   v0.9.0     [required by ppx_core, ppx_metaquot]
  ∗  install ocaml-migrate-parsetree 0.7        [required by cstruct]
  ∗  install ocaml-compiler-libs     v0.9.0     [required by ppx_core]
  ∗  install stringext               1.4.3      [required by uri]
  ∗  install re                      1.7.1      [required by dns]
  ∗  install cppo                    1.4.1      [required by ocplib-endian, ppx_deriving]
  ∗  install base64                  2.1.2      [required by dns]
  ∗  install base                    v0.9.1     [required by ppx_core]
  ∗  install ppx_tools_versioned     5.0beta1   [required by cstruct]
  ∗  install ppx_ast                 v0.9.1     [required by ppx_core]
  ∗  install ppx_deriving            4.1        [required by ipaddr, uri]
  ∗  install ocplib-endian           1.0        [required by mirage-profile]
  ∗  install stdio                   v0.9.0     [required by ppx_core]
  ∗  install cstruct                 2.4.0      [required by dns, mirage-profile]
  ∗  install ppx_core                v0.9.0     [required by ppx_sexp_conv]
  ∗  install io-page                 1.6.1      [required by mirage-profile]
  ∗  install ppx_optcomp             v0.9.0     [required by ppx_driver]
  ∗  install mirage-profile          0.7.0    
  ∗  install ppx_driver              v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_metaquot            v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_type_conv           v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_sexp_conv           v0.9.0     [required by ipaddr, uri]
  ∗  install uri                     1.9.2      [required by dns]
  ∗  install ipaddr                  2.7.2      [required by dns]
  ∗  install dns                     0.20.0   
===== ∗  39 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[base64] Archive in cache
[cppo] Archive in cache
[cstruct] Archive in cache
[dns] Archive in cache
[default] https://opam.ocaml.org/archives/hashcons.1.2+opam.tar.gz downloaded
[io-page] Archive in cache
[ipaddr] Archive in cache
[jbuilder] Archive in cache
[lwt] Archive in cache
[mirage-profile] Archive in cache
[default] https://opam.ocaml.org/archives/cmdliner.1.0.0+opam.tar.gz downloaded
[ocaml-migrate-parsetree] Archive in cache
[ocamlbuild] Archive in cache
[ocamlfind] Archive in cache
[ocplib-endian] Archive in cache
[default] https://opam.ocaml.org/archives/ocaml-compiler-libs.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/base.v0.9.1+opam.tar.gz downloaded
[ppx_deriving] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_ast.v0.9.1+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_core.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_driver.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_metaquot.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_optcomp.v0.9.0+opam.tar.gz downloaded
[ppx_tools_versioned] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_sexp_conv.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_tools.5.0+opam.tar.gz downloaded
[re] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_traverse_builtins.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_type_conv.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/result.1.2+opam.tar.gz downloaded
[stringext] Archive in cache
[topkg] Archive in cache
[uri] Archive in cache
[default] https://opam.ocaml.org/archives/stdio.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/sexplib.v0.9.1+opam.tar.gz downloaded

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
∗  installed conf-which.1
∗  installed conf-m4.1
∗  installed conf-autoconf.0.1
∗  installed result.1.2
∗  installed ocamlfind.1.7.1
∗  installed base-bytes.base
∗  installed hashcons.1.2
∗  installed ppx_tools.5.0
∗  installed ocamlbuild.0.11.0
∗  installed cppo.1.4.1
∗  installed jbuilder.1.0+beta6
∗  installed ocaml-compiler-libs.v0.9.0
∗  installed ocplib-endian.1.0
∗  installed re.1.7.1
∗  installed ppx_traverse_builtins.v0.9.0
∗  installed ocaml-migrate-parsetree.0.7
∗  installed sexplib.v0.9.1
∗  installed ppx_deriving.4.1
∗  installed ppx_ast.v0.9.1
∗  installed lwt.2.7.0
∗  installed stringext.1.4.3
∗  installed base.v0.9.1
∗  installed topkg.0.9.0
∗  installed stdio.v0.9.0
∗  installed base64.2.1.2
∗  installed ppx_tools_versioned.5.0beta1
∗  installed cmdliner.1.0.0
∗  installed ppx_core.v0.9.0
∗  installed ppx_optcomp.v0.9.0
∗  installed cstruct.2.4.0
∗  installed ppx_driver.v0.9.0
∗  installed ppx_metaquot.v0.9.0
∗  installed ppx_type_conv.v0.9.0
∗  installed io-page.1.6.1
∗  installed ppx_sexp_conv.v0.9.0
∗  installed ipaddr.2.7.2
∗  installed mirage-profile.0.7.0
∗  installed uri.1.9.2
∗  installed dns.0.20.0
Done.

=-=- lwt.2.7.0 installed successfully -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> The future Lwt 3.0.0 will make minor breaking changes near 1 April 2017. See
     https://github.com/ocsigen/lwt/issues/308
$ ls -a ~/.opam/fresh/lib/dns
./                      dns_server.cmi          dns.cmi
../                     dns_server.cmti         dns.cmt
dns_resolver_unix.cmi   dns_server.cmx          dns.cmx
dns_resolver_unix.cmti  dns_server.mli          dns.cmxa
dns_resolver_unix.cmx   dns-lwt-core.a          dns.cmxs
dns_resolver_unix.mli   dns-lwt-core.cma        mdns_responder.cmi
dns_resolver.cmi        dns-lwt-core.cmxa       mdns_responder.cmti
dns_resolver.cmti       dns-lwt-core.cmxs       mdns_responder.cmx
dns_resolver.cmx        dns-lwt.a               mdns_responder.mli
dns_resolver.mli        dns-lwt.cma             META
dns_server_unix.cmi     dns-lwt.cmxa            opam
dns_server_unix.cmti    dns-lwt.cmxs            opam.config
dns_server_unix.cmx     dns.a
dns_server_unix.mli     dns.cma
Member

hannesm commented Apr 1, 2017

FWIW:

$  opam switch -A 4.04.0 fresh

=-=- Installing compiler 4.04.0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default.comp] https://github.com/ocaml/ocaml/archive/4.04.0.tar.gz downloaded
Now compiling OCaml. This may take a while, please bear with us...
Done.

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
∗  installed base-bigarray.base
∗  installed base-threads.base
∗  installed base-unix.base
Done.
# To setup the new switch in the current shell, you need to run:
eval `opam config env`
$ eval `opam config env`
$ opam install lwt mirage-profile cmdliner dns
The following actions will be performed:
  ∗  install conf-m4                 1          [required by ocamlfind]
  ∗  install result                  1.2        [required by dns, cmdliner, lwt]
  ∗  install ocamlbuild              0.11.0     [required by lwt, cmdliner, dns, mirage-profile]
  ∗  install conf-which              1          [required by hashcons]
  ∗  install ocamlfind               1.7.1      [required by lwt, cmdliner, dns, mirage-profile]
  ∗  install conf-autoconf           0.1        [required by hashcons]
  ∗  install topkg                   0.9.0      [required by cmdliner, dns]
  ∗  install ppx_tools               5.0        [required by lwt, dns, mirage-profile]
  ∗  install jbuilder                1.0+beta6  [required by sexplib, ocaml-migrate-parsetree, ppx_sexp_conv]
  ∗  install base-bytes              base       [required by dns]
  ∗  install hashcons                1.2        [required by dns]
  ∗  install cmdliner                1.0.0    
  ∗  install lwt                     2.7.0    
  ∗  install sexplib                 v0.9.1     [required by ipaddr, cstruct, uri]
  ∗  install ppx_traverse_builtins   v0.9.0     [required by ppx_core, ppx_metaquot]
  ∗  install ocaml-migrate-parsetree 0.7        [required by cstruct]
  ∗  install ocaml-compiler-libs     v0.9.0     [required by ppx_core]
  ∗  install stringext               1.4.3      [required by uri]
  ∗  install re                      1.7.1      [required by dns]
  ∗  install cppo                    1.4.1      [required by ocplib-endian, ppx_deriving]
  ∗  install base64                  2.1.2      [required by dns]
  ∗  install base                    v0.9.1     [required by ppx_core]
  ∗  install ppx_tools_versioned     5.0beta1   [required by cstruct]
  ∗  install ppx_ast                 v0.9.1     [required by ppx_core]
  ∗  install ppx_deriving            4.1        [required by ipaddr, uri]
  ∗  install ocplib-endian           1.0        [required by mirage-profile]
  ∗  install stdio                   v0.9.0     [required by ppx_core]
  ∗  install cstruct                 2.4.0      [required by dns, mirage-profile]
  ∗  install ppx_core                v0.9.0     [required by ppx_sexp_conv]
  ∗  install io-page                 1.6.1      [required by mirage-profile]
  ∗  install ppx_optcomp             v0.9.0     [required by ppx_driver]
  ∗  install mirage-profile          0.7.0    
  ∗  install ppx_driver              v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_metaquot            v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_type_conv           v0.9.0     [required by ppx_sexp_conv]
  ∗  install ppx_sexp_conv           v0.9.0     [required by ipaddr, uri]
  ∗  install uri                     1.9.2      [required by dns]
  ∗  install ipaddr                  2.7.2      [required by dns]
  ∗  install dns                     0.20.0   
===== ∗  39 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[base64] Archive in cache
[cppo] Archive in cache
[cstruct] Archive in cache
[dns] Archive in cache
[default] https://opam.ocaml.org/archives/hashcons.1.2+opam.tar.gz downloaded
[io-page] Archive in cache
[ipaddr] Archive in cache
[jbuilder] Archive in cache
[lwt] Archive in cache
[mirage-profile] Archive in cache
[default] https://opam.ocaml.org/archives/cmdliner.1.0.0+opam.tar.gz downloaded
[ocaml-migrate-parsetree] Archive in cache
[ocamlbuild] Archive in cache
[ocamlfind] Archive in cache
[ocplib-endian] Archive in cache
[default] https://opam.ocaml.org/archives/ocaml-compiler-libs.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/base.v0.9.1+opam.tar.gz downloaded
[ppx_deriving] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_ast.v0.9.1+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_core.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_driver.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_metaquot.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_optcomp.v0.9.0+opam.tar.gz downloaded
[ppx_tools_versioned] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_sexp_conv.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_tools.5.0+opam.tar.gz downloaded
[re] Archive in cache
[default] https://opam.ocaml.org/archives/ppx_traverse_builtins.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/ppx_type_conv.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/result.1.2+opam.tar.gz downloaded
[stringext] Archive in cache
[topkg] Archive in cache
[uri] Archive in cache
[default] https://opam.ocaml.org/archives/stdio.v0.9.0+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/sexplib.v0.9.1+opam.tar.gz downloaded

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
∗  installed conf-which.1
∗  installed conf-m4.1
∗  installed conf-autoconf.0.1
∗  installed result.1.2
∗  installed ocamlfind.1.7.1
∗  installed base-bytes.base
∗  installed hashcons.1.2
∗  installed ppx_tools.5.0
∗  installed ocamlbuild.0.11.0
∗  installed cppo.1.4.1
∗  installed jbuilder.1.0+beta6
∗  installed ocaml-compiler-libs.v0.9.0
∗  installed ocplib-endian.1.0
∗  installed re.1.7.1
∗  installed ppx_traverse_builtins.v0.9.0
∗  installed ocaml-migrate-parsetree.0.7
∗  installed sexplib.v0.9.1
∗  installed ppx_deriving.4.1
∗  installed ppx_ast.v0.9.1
∗  installed lwt.2.7.0
∗  installed stringext.1.4.3
∗  installed base.v0.9.1
∗  installed topkg.0.9.0
∗  installed stdio.v0.9.0
∗  installed base64.2.1.2
∗  installed ppx_tools_versioned.5.0beta1
∗  installed cmdliner.1.0.0
∗  installed ppx_core.v0.9.0
∗  installed ppx_optcomp.v0.9.0
∗  installed cstruct.2.4.0
∗  installed ppx_driver.v0.9.0
∗  installed ppx_metaquot.v0.9.0
∗  installed ppx_type_conv.v0.9.0
∗  installed io-page.1.6.1
∗  installed ppx_sexp_conv.v0.9.0
∗  installed ipaddr.2.7.2
∗  installed mirage-profile.0.7.0
∗  installed uri.1.9.2
∗  installed dns.0.20.0
Done.

=-=- lwt.2.7.0 installed successfully -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> The future Lwt 3.0.0 will make minor breaking changes near 1 April 2017. See
     https://github.com/ocsigen/lwt/issues/308
$ ls -a ~/.opam/fresh/lib/dns
./                      dns_server.cmi          dns.cmi
../                     dns_server.cmti         dns.cmt
dns_resolver_unix.cmi   dns_server.cmx          dns.cmx
dns_resolver_unix.cmti  dns_server.mli          dns.cmxa
dns_resolver_unix.cmx   dns-lwt-core.a          dns.cmxs
dns_resolver_unix.mli   dns-lwt-core.cma        mdns_responder.cmi
dns_resolver.cmi        dns-lwt-core.cmxa       mdns_responder.cmti
dns_resolver.cmti       dns-lwt-core.cmxs       mdns_responder.cmx
dns_resolver.cmx        dns-lwt.a               mdns_responder.mli
dns_resolver.mli        dns-lwt.cma             META
dns_server_unix.cmi     dns-lwt.cmxa            opam
dns_server_unix.cmti    dns-lwt.cmxs            opam.config
dns_server_unix.cmx     dns.a
dns_server_unix.mli     dns.cma

@avsm avsm referenced this issue Jun 15, 2017

Merged

Port to jbuilder #143

@avsm avsm closed this in #143 Jun 20, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment