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

Fix x32_86bit job caused by capnproto #894

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 32 additions & 7 deletions lib/opam_build.ml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,34 @@ let install_project_deps ~opam_version ~opam_files ~selection =
| `linux -> None
| `freeBSD -> None
in
let capnproto =
List.find_map
(fun pkg ->
match Astring.String.cut ~sep:"." pkg with
| Some (pkg, _) when pkg = "conf-capnproto" ->
Some
[
run ~network ~cache
"sudo apt update && sudo apt install autoconf automake \
libtool -y";
run ~network ~cache
"git clone https://github.com/moyodiallo/capnproto.git && cd \
capnproto && git reset --hard \
37032615f1948327d7def94671a4335c251581b3";
run
"cd capnproto/c++ && autoupdate && autoreconf -i && \
./configure && make -j6 && sudo make install";
run "rm -fr capnproto";
]
| Some (_, _) | None -> None)
non_root_pkgs
|> Option.value ~default:[]
(* TODO: Will be removed when until a new version of debian in which capnproto has this fix
* "https://github.com/capnproto/capnproto/pull/1824" or similar.
*
* related to this bug "https://github.com/mirage/capnp-rpc/issues/273"
* *)
in
(* XXX: don't overwrite default config? *)
let opamrc = "" in
let opam_version_str = Opam_version.to_string opam_version in
Expand Down Expand Up @@ -184,13 +212,10 @@ let install_project_deps ~opam_version ~opam_files ~selection =
commit commit;
]
@ pin_opam_files ~network ?work_dir groups
@ [
env "DEPS" non_root_pkgs;
env "CI" "true";
env "OCAMLCI" "true";
opam_depext;
run ~network ~cache "opam install $DEPS";
]
@ [ env "DEPS" non_root_pkgs; env "CI" "true"; env "OCAMLCI" "true" ]
@ (if Variant.arch variant |> Ocaml_version.arch_is_32bit then capnproto
else [])
@ [ opam_depext; run ~network ~cache "opam install $DEPS" ]

let spec ~base ~opam_version ~opam_files ~selection =
let open Obuilder_spec in
Expand Down
1 change: 1 addition & 0 deletions service/conf.ml
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ let platforms ~profile ~include_macos ~include_freebsd opam_version =
List.rev OV.Releases.recent
in
List.map make_release [ latest; previous ]
@ [ make_release ~arch:`I386 OV.Releases.v4_14_1 ]

(** When we have the same platform differing only in [lower_bound], for the
purposes of Docker pulls, take only the platform with [lower_bound = true].
Expand Down