The package rpms/jbuilder.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/jbuilder.git/commit/?id=615c5409716a....
Change: -ExcludeArch: ppc64
Thanks.
Full change: ============
commit 615c5409716a0f7ad6bf604a1b9197c2d67736e0 Author: Ben Rosser rosser.bjr@gmail.com Date: Tue Jan 30 11:02:38 2018 -0500
Fix build failure on ppc64 (rhbz#1538300).
diff --git a/.gitignore b/.gitignore index eb0f5cd..7e133d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.rpm /jbuilder-1.0.tar.gz /jbuilder-1.0-beta16.tar.gz /jbuilder-1.0-beta17.tar.gz diff --git a/463.patch b/463.patch new file mode 100644 index 0000000..ba4d0c4 --- /dev/null +++ b/463.patch @@ -0,0 +1,71 @@ +From c57b04923e4894b0ae1b02b8958d6f613d165186 Mon Sep 17 00:00:00 2001 +From: Jeremie Dimino jdimino@janestreet.com +Date: Tue, 30 Jan 2018 14:33:54 +0000 +Subject: [PATCH] Always use a bytecode boot.exe + +Fix #446 +--- + CHANGES.md | 3 +++ + bootstrap.ml | 18 ++++-------------- + 2 files changed, 7 insertions(+), 14 deletions(-) + +diff --git a/CHANGES.md b/CHANGES.md +index a7d08d74..49267deb 100644 +--- a/CHANGES.md ++++ b/CHANGES.md +@@ -84,6 +84,9 @@ + + - Display a warning for invalid lines in jbuild-ignore (#389) + ++- Always build `boot.exe` as a bytecode program. It makes the build of ++ jbuilder faster and fix the build on some architectures (#463, fixes #446) ++ + 1.0+beta16 (05/11/2017) + ----------------------- + +diff --git a/bootstrap.ml b/bootstrap.ml +index 5ce303ae..42345f67 100644 +--- a/bootstrap.ml ++++ b/bootstrap.ml +@@ -106,8 +106,6 @@ let prog_not_found prog = + eprintf "Program %s not found in PATH" prog; + exit 2 + +-type mode = Native | Byte +- + let best_prog dir prog = + let fn = dir ^/ prog ^ ".opt" ^ exe in + if Sys.file_exists fn then +@@ -134,13 +132,10 @@ let get_prog dir prog = + | None -> prog_not_found prog + | Some fn -> fn + +-let bin_dir, mode, compiler = ++let bin_dir, compiler = + match find_prog "ocamlc" with + | None -> prog_not_found "ocamlc" +- | Some (bin_dir, prog) -> +- match best_prog bin_dir "ocamlopt" with +- | Some prog -> (bin_dir, Native, prog) +- | None -> (bin_dir, Byte, prog) ++ | Some x -> x + + let ocamllex = get_prog bin_dir "ocamllex" + let ocamldep = get_prog bin_dir "ocamldep" +@@ -429,14 +424,9 @@ let cleanup ~keep_ml_file = + () + + let () = +- let lib_ext = +- match mode with +- | Native -> "cmxa" +- | Byte -> "cma" +- in + let n = +- try exec "%s -w -40 -o boot.exe unix.%s %s" +- (Filename.quote compiler) lib_ext generated_file ++ try exec "%s -w -40 -o boot.exe unix.cma %s" ++ (Filename.quote compiler) generated_file + with e -> cleanup ~keep_ml_file:true; raise e + in + cleanup ~keep_ml_file:(n <> 0); diff --git a/jbuilder.spec b/jbuilder.spec index 5b71f9c..46ca1b7 100644 --- a/jbuilder.spec +++ b/jbuilder.spec @@ -2,7 +2,7 @@
Name: jbuilder Version: 1.0 -Release: 0.6.%{pre_tag}%{?dist} +Release: 0.7.%{pre_tag}%{?dist} Summary: A composable build system for OCaml
%global libname %(echo %{name} | sed -e 's/^ocaml-//') @@ -16,6 +16,10 @@ Source0: https://github.com/janestreet/%%7Blibname%7D/archive/%%7Bversion%7D+%%7Bpr # Remove further tests that want 'utop' and 'odoc' to exist. Patch0: jbuilder-remove-unrunnable-unit-tests.patch
+# Always build boot.exe using the bytecode compiler. This speeds +# up the build and fixes a build failure on ppc64. +Patch1: https://patch-diff.githubusercontent.com/raw/ocaml/dune/pull/463.patch + BuildRequires: ocaml >= 4.02.3 BuildRequires: ocaml-findlib-devel
@@ -34,9 +38,6 @@ Provides: bundled(ocaml-opam-file-format) Provides: bundled(ocaml-cmdliner) = 1.0.0 Provides: bundled(ocaml-re)
-# Build failure with beta17 on ppc64. While debugging, mark as ExcludeArch. :( -ExcludeArch: ppc64 - %description Jbuilder is a build system designed for OCaml/Reason projects only. It focuses on providing the user with a consistent experience and takes care of most of @@ -116,6 +117,9 @@ make test %doc %{_pkgdocdir}/*
%changelog +* Tue Jan 30 2018 Ben Rosser rosser.bjr@gmail.com - 1.0-0.7.beta18 +- Fix build failure on ppc64 by always using bytecode ocaml compiler to bootstrap. + * Wed Jan 24 2018 Ben Rosser rosser.bjr@gmail.com 1.0-0.6.beta17 - Update to latest upstream release, beta17 (#1537836). - Remove unit tests that require external deps (that themselves require jbuilder).