The package rpms/mlton.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/mlton.git/commit/?id=cda02b10c601....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit cda02b10c601f881018650c6464d171bae234b8c
Author: Adam Goode <adam(a)spicenitz.org>
Date: Sun Apr 1 02:37:27 2018 -0400
Bootstrap
diff --git a/.gitignore b/.gitignore
index 97a3461..f123dd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
/mlton-20180207.src.tgz
+/mlton-bootstrap-aarch64-redhat-linux.tar.gz
+/mlton-bootstrap-ppc64le-redhat-linux.tar.gz
+/mlton-bootstrap-ppc64-redhat-linux.tar.gz
+/mlton-bootstrap-s390x-redhat-linux.tar.gz
+/mlton-bootstrap-x86_64-redhat-linux.tar.gz
diff --git a/mlton.spec b/mlton.spec
index 13bfac8..9b6a5b0 100644
--- a/mlton.spec
+++ b/mlton.spec
@@ -1,17 +1,29 @@
+%ifarch aarch64 ppc64 ppc64le s390x x86_64
+%global bootstrap 1
+%endif
+
Name: mlton
Version: 20180207
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Optimizing compiler for Standard ML
License: MIT
URL:
http://mlton.org/
Source0:
http://downloads.sourceforge.net/%{name}/%{name}-%{version}.src.tgz
+# Generated sources (non-binary) for bootstrapping
+# See
http://mlton.org/PortingMLton#_bootstrap
+Source100: mlton-bootstrap-aarch64-redhat-linux.tar.gz
+Source101: mlton-bootstrap-ppc64-redhat-linux.tar.gz
+Source102: mlton-bootstrap-ppc64le-redhat-linux.tar.gz
+Source103: mlton-bootstrap-s390x-redhat-linux.tar.gz
+Source104: mlton-bootstrap-x86_64-redhat-linux.tar.gz
+
BuildRequires: gmp-devel tex(latex)
-# Needs bootstrap on these arches
-ExcludeArch: aarch64 %{power64} s390x
+%if ! 0%{?bootstrap}
BuildRequires: mlton
+%endif
Requires: gmp-devel gcc
@@ -22,7 +34,6 @@ Patch3: 0003-Set-LIB_REL_BIN-in-mlton-script-when-installing.patch
Patch4: 0004-Fix-use-of-MKDIR-and-RM-variables-in-.-Makefile.bina.patch
Patch5: 0005-Set-LIB_REL_BIN-in-mlton-script-when-installing.patch
-
# filter out false dependencies
%{?filter_setup:
%filter_provides_in %{_docdir}
@@ -43,10 +54,57 @@ multiprecision library, and lots of useful libraries.
%prep
-%autosetup -p1
+%autosetup -T -b 0 -p1
+
+%if 0%{?bootstrap}
+
+%ifarch aarch64
+%setup -T -D -q -a 100
+%endif
+
+%ifarch ppc64
+%setup -T -D -q -a 101
+%endif
+
+%ifarch ppc64le
+%setup -T -D -q -a 102
+%endif
+
+%ifarch s390x
+%setup -T -D -q -a 103
+%endif
+
+%ifarch x86_64
+%setup -T -D -q -a 104
+%endif
+
+%endif
%build
+%if 0%{?bootstrap}
+# Build mlton-compile from the bootstrap sources.
+make dirs runtime CFLAGS="$RPM_OPT_FLAGS"
+
+for s in mlton/mlton.*.c; do
+ gcc $RPM_OPT_FLAGS -c -Ibuild/lib/mlton/include \
+ -Ibuild/lib/mlton/targets/self/include -w "${s}"
+done
+gcc $RPM_OPT_FLAGS -o build/lib/mlton/mlton-compile \
+ -Lbuild/lib/mlton/targets/self \
+ -L/usr/local/lib \
+ mlton.*.o \
+ -lmlton -lgmp -lgdtoa -lm
+
+make basis-no-check script constants libraries tools CFLAGS="$RPM_OPT_FLAGS"
+
+# Install this to a local location and clean. Then continue on with a
+# regular build with PATH.
+make install PREFIX=$(pwd)/../bootstrap
+export PATH=$PATH:$(pwd)/../bootstrap/bin
+make clean
+%endif
+
make all docs PREFIX=%{_prefix} libdir=%{_libdir} CFLAGS="$RPM_OPT_FLAGS"
@@ -66,6 +124,9 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/mlton/sml/ckit-lib/regression
%changelog
+* Sun Apr 1 2018 Adam Goode <adam(a)spicenitz.org> - 20180207-4
+- Bootstrap the remaining Fedora and RHEL7 arches
+
* Sat Mar 31 2018 Adam Goode <adam(a)spicenitz.org> - 20180207-3
- Remove broken release workaround
diff --git a/sources b/sources
index 7e331e5..236add2 100644
--- a/sources
+++ b/sources
@@ -1 +1,6 @@
SHA512 (mlton-20180207.src.tgz) =
3599159950e857d257abce92abf5c548dd9c0b0cdc4ba0d7cdf9badb5d997f73386cd1ff79f563221b394dd831cb344e287927f90683b0715678edb3ca0ae15a
+SHA512 (mlton-bootstrap-aarch64-redhat-linux.tar.gz) =
12bdfeafa7ab6a4abaedb48c81b05868c1d0b9746dab55db8ef2391cd06a5bcf0615a5d742470f3abcf4167f33d68bffc69df55bde0e4316a1d395e83423cf07
+SHA512 (mlton-bootstrap-ppc64le-redhat-linux.tar.gz) =
ff08220d66b35f6cd5bd15780729acca27b7eb108370faa012ca580067064e077cc4609f030aee7fc4d6c0af8f4843d689a2775799d0c5112a634937498d7040
+SHA512 (mlton-bootstrap-ppc64-redhat-linux.tar.gz) =
a45893bc139ea5ebd489e8f0c31717697506109c5e881dccb9eb0dd45edf146fa76dacd9ea07d98343ecec3fb36bfcfc4b4d02f5bbfd4e732a25a9e8262df58b
+SHA512 (mlton-bootstrap-s390x-redhat-linux.tar.gz) =
346a3643b94d2586ba0fded34238c08cbc81661a5a90443168920f00c84c27638daf4037ca784c7f22b3d75806e5adfade5463425ae9449ac5f2fd362604bff6
+SHA512 (mlton-bootstrap-x86_64-redhat-linux.tar.gz) =
20fea374cb429fe85c5e7df192cb792fa87417b61e33a43194f82692f88d7ed5c0ba9ca95ecaacb42b6e5bf458436eb98e1d2ddbc21a3368b8ebdc3bb4a330e2