The package rpms/flang.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/flang.git/commit/?id=755558b0b6ed....
Change:
+%ifarch %{ix86}
Thanks.
Full change:
============
commit 755558b0b6edc49f85d4da71f7b3c3d18d7659bc
Author: serge-sans-paille <sguelton(a)redhat.com>
Date: Mon Sep 14 11:59:22 2020 +0000
Initial version.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..efef7e1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/flang-11.0.0rc2.src.tar.xz
+/flang-11.0.0rc2.src.tar.xz.sig
diff --git a/flang.spec b/flang.spec
new file mode 100644
index 0000000..53b9cce
--- /dev/null
+++ b/flang.spec
@@ -0,0 +1,173 @@
+%global rc_ver 2
+%global baserelease 0.1
+%global flang_srcdir flang-%{version}%{?rc_ver:rc%{rc_ver}}.src
+%global maj_ver 11
+%global min_ver 0
+%global patch_ver 0
+
+Name: flang
+Version: %{maj_ver}.%{min_ver}.%{patch_ver}
+Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
+Summary: a Fortran language front-end designed for integration with LLVM
+
+License: ASL 2.0 with exceptions
+URL:
https://github.com/llvm/llvm-project/tree/master/flang
+Source0:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}...
+Source1:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}...
+Source2:
https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
+
+# Otherwise fails when compiling with _GLIBCXX_DEBUG is defined.
+Patch0: token-sequence.patch
+# Needed to compile in shared libs mode.
+Patch1: shared.patch
+# Needed for llvm-googletest compatibility
+Patch2: gtest.patch
+
+# because mlir doesn't build on arm (yet)
+ExcludeArch: armv7hl
+
+# Avoid gcc reaching 4GB of memory
+%ifarch %{ix86} s390x
+%global _lto_cflags %{nil}
+%global _smp_mflags -j1
+%endif
+
+
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: cmake
+BuildRequires: zlib-devel
+BuildRequires: llvm-devel = %{version}
+BuildRequires: llvm-test = %{version}
+BuildRequires: llvm-googletest = %{version}
+BuildRequires: mlir-devel = %{version}
+BuildRequires: ninja-build
+BuildRequires: python3-lit
+BuildRequires: python3-sphinx
+
+# For origin certification
+BuildRequires: gnupg2
+
+%description
+
+Flang is a ground-up implementation of a Fortran front end written in modern
+C++.
+
+%package devel
+Summary: Flang header files
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+Flang header files.
+
+%package doc
+Summary: Documentation for Flang
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description doc
+Documentation for Flang
+
+%prep
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}'
--data='%{SOURCE0}'
+%autosetup -n %{flang_srcdir} -p1
+
+%build
+
+
+%cmake -GNinja \
+ -DMLIR_TABLEGEN_EXE=%{_bindir}/mlir-tblgen \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_RPATH=";" \
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \
+\
+ -DFLANG_INCLUDE_DOCS:BOOL=ON \
+ -DLLVM_ENABLE_SPHINX:BOOL=ON \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
+\
+%if 0%{?__isa_bits} == 64
+ -DLLVM_LIBDIR_SUFFIX=64
+%else
+ -DLLVM_LIBDIR_SUFFIX=
+%endif
+
+# Avoid gcc reaching 4GB of memory
+%ifarch %{ix86} s390x
+sed -i -e 's/-g /-g1 /g' -e 's/-O2/-O1/g'
%{_builddir}/%{flang_srcdir}/%{_build}/build.ninja
+%endif
+
+export LD_LIBRARY_PATH=%{_builddir}/%{flang_srcdir}/%{_build}/lib
+%cmake_build
+%cmake_build --target docs-flang-html
+
+
+%install
+%cmake_install
+
+# this is a test binary
+rm -f %{buildroot}%{_bindir}/f18-parse-demo
+
+install -d %{buildroot}%{_pkgdocdir}/html
+cp -r %{_vpath_builddir}/docs/html/* %{buildroot}%{_pkgdocdir}/html/
+
+chmod 0755 %{buildroot}%{_bindir}/flang
+
+%check
+
+# these tests fail on all or specific arches
+rm test/Semantics/resolve63.f90
+
+%ifarch s390x
+rm test/Evaluate/folding07.f90
+%endif
+
+%ifarch %{ix86}
+rm -f test/Fir/fir-ops.fir
+rm -f test/Semantics/assign03.f90
+rm -f test/Semantics/data05.f90
+rm -f test/Semantics/offsets01.f90
+rm -f test/Semantics/offsets02.f90
+%endif
+
+export LD_LIBRARY_PATH=%{_builddir}/%{flang_srcdir}/%{_build}/lib
+%cmake_build --target check-flang
+
+%files
+%license LICENSE.txt
+%{_bindir}/f18
+%{_bindir}/tco
+%{_bindir}/flang
+%{_libdir}/libFortranLower.so.%{maj_ver}
+%{_libdir}/libFIROptimizer.so.%{maj_ver}
+%{_libdir}/libFortranSemantics.so.%{maj_ver}
+%{_libdir}/libFortranCommon.so.%{maj_ver}
+%{_libdir}/libFortranRuntime.so.%{maj_ver}
+%{_libdir}/libFortranDecimal.so.%{maj_ver}
+%{_libdir}/libFortranEvaluate.so.%{maj_ver}
+%{_libdir}/libFortranParser.so.%{maj_ver}
+
+%files devel
+%{_libdir}/libFortranLower.so
+%{_libdir}/libFortranParser.so
+%{_libdir}/libFortranCommon.so
+%{_libdir}/libFortranSemantics.so
+%{_libdir}/libFIROptimizer.so
+%{_libdir}/libFortranDecimal.so
+%{_libdir}/libFortranRuntime.so
+%{_libdir}/libFortranEvaluate.so
+%{_includedir}/flang
+%{_libdir}/cmake/
+
+%files doc
+%dir %{_pkgdocdir}
+%doc %{_pkgdocdir}/html/
+
+%changelog
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc2
+- Initial version.
+
diff --git a/gtest.patch b/gtest.patch
new file mode 100644
index 0000000..74365db
Binary files /dev/null and b/gtest.patch differ
diff --git a/hans-gpg-key.asc b/hans-gpg-key.asc
new file mode 100644
index 0000000..4b3cdde
--- /dev/null
+++ b/hans-gpg-key.asc
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+67H2IH//2sf8dw==
+=ADVe
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/shared.patch b/shared.patch
new file mode 100644
index 0000000..c8dabf4
--- /dev/null
+++ b/shared.patch
@@ -0,0 +1,12 @@
+diff -Naur flang-11.0.0rc2.src/CMakeLists.txt flang-11.0.0rc2.src.cmake/CMakeLists.txt
+--- flang-11.0.0rc2.src/CMakeLists.txt 2020-08-20 16:24:59.000000000 +0000
++++ flang-11.0.0rc2.src.cmake/CMakeLists.txt 2020-09-03 13:44:24.226776260 +0000
+@@ -199,8 +199,6 @@
+ # Always build tco tool
+ set(LLVM_BUILD_TOOLS ON)
+ message(STATUS "Linking driver with FIR and LLVM")
+- llvm_map_components_to_libnames(LLVM_COMMON_LIBS support)
+- message(STATUS "LLVM libraries: ${LLVM_COMMON_LIBS}")
+ endif()
+
+ # Add Flang-centric modules to cmake path.
diff --git a/sources b/sources
new file mode 100644
index 0000000..1fbbb42
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (flang-11.0.0rc2.src.tar.xz) =
ec5aaafe51bf4e0844cbd70320770c583a505c5e00b109fd5c87a04f16ea01341d4b48fc775ba911483bc3effebdda20852be70a9f61b9fed58f3f5421fdf15f
+SHA512 (flang-11.0.0rc2.src.tar.xz.sig) =
e02e397ce84ed1c0879b128d9f478f828c2d640fa4bdd41855b58373edf76baf906ef3ea17f2c4bb69c2e4d444ed6cddaf86f4a416e10490bf2adfc1dcf0bc16
diff --git a/token-sequence.patch b/token-sequence.patch
new file mode 100644
index 0000000..8f4577e
--- /dev/null
+++ b/token-sequence.patch
@@ -0,0 +1,13 @@
+diff -Naur flang-11.0.0rc2.src.orig/lib/Parser/token-sequence.cpp
flang-11.0.0rc2.src/lib/Parser/token-sequence.cpp
+--- flang-11.0.0rc2.src.orig/lib/Parser/token-sequence.cpp 2020-09-03 12:01:15.278223312
+0000
++++ flang-11.0.0rc2.src/lib/Parser/token-sequence.cpp 2020-09-03 12:51:40.082870848
+0000
+@@ -134,7 +134,8 @@
+ std::size_t atToken{0};
+ for (std::size_t j{0}; j < chars;) {
+ std::size_t nextStart{atToken + 1 < tokens ? start_[++atToken] : chars};
+- char *p{&char_[j]}, *limit{&char_[nextStart]};
++ char *p{&char_[j]};
++ char const* limit{char_.data() + nextStart};
+ j = nextStart;
+ if (IsDecimalDigit(*p)) {
+ while (p < limit && IsDecimalDigit(*p)) {
commit 19ea3955f7bcb2bb42d26a30d48d5c33e1a2658d
Author: serge-sans-paille <sguelton(a)redhat.com>
Date: Mon Sep 14 07:11:50 2020 +0000
Gaea's touch