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=615c54097....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 615c5409716a0f7ad6bf604a1b9197c2d67736e0
Author: Ben Rosser <rosser.bjr(a)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(a)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/%{libname}/archive/%{version}+%{pr
# 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(a)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(a)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).