Architecture specific change in rpms/rust-ena.git
by githook-noreply@fedoraproject.org
The package rpms/rust-ena.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/rust-ena.git/commit/?id=06b10bcdd....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 06b10bcdd2e884c696c5bdb4652cff84ad1a44ab
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon Feb 27 20:19:16 2023 +0100
Update to version 0.14.1; Fixes RHBZ#2173077
diff --git a/.gitignore b/.gitignore
index 9b35b1f..0389f38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/*.src.rpm
/ena-0.14.0.crate
+/ena-0.14.1.crate
diff --git a/.rust2rpm.conf b/.rust2rpm.conf
deleted file mode 100644
index 2717226..0000000
--- a/.rust2rpm.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-[DEFAULT]
-unwanted-features =
- congruence-closure
- dogged
- persistent
- petgraph
diff --git a/ena-fix-metadata.diff b/ena-fix-metadata.diff
new file mode 100644
index 0000000..1688880
--- /dev/null
+++ b/ena-fix-metadata.diff
@@ -0,0 +1,21 @@
+--- ena-0.14.1/Cargo.toml 1970-01-01T00:00:01+00:00
++++ ena-0.14.1/Cargo.toml 2023-02-27T19:08:31.521127+00:00
+@@ -23,18 +23,5 @@
+ license = "MIT OR Apache-2.0"
+ repository = "https://github.com/rust-lang/ena"
+
+-[dependencies.dogged]
+-version = "0.2.0"
+-optional = true
+-
+ [dependencies.log]
+ version = "0.4"
+-
+-[dependencies.petgraph]
+-version = "0.4.5"
+-optional = true
+-
+-[features]
+-bench = []
+-congruence-closure = ["petgraph"]
+-persistent = ["dogged"]
diff --git a/rust-ena.spec b/rust-ena.spec
index 7885deb..fdf7d38 100644
--- a/rust-ena.spec
+++ b/rust-ena.spec
@@ -1,29 +1,26 @@
-# Generated by rust2rpm 16
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate ena
-Name: rust-%{crate}
-Version: 0.14.0
+Name: rust-ena
+Version: 0.14.1
Release: %autorelease
Summary: Union-find, congruence closure, and other unification code
-# Upstream license specification: MIT/Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/ena
Source: %{crates_source}
+# Manually created patch for downstream crate metadata changes
+# * remove unused features with outdated optional dependencies
+Patch: ena-fix-metadata.diff
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Union-find, congruence closure, and other unification code. Based on code from
-rustc.}
+Union-find, congruence closure, and other unification code. Based on
+code from rustc.}
%description %{_description}
@@ -33,13 +30,14 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE-APACHE LICENSE-MIT
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -47,23 +45,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
-
-%package -n %{name}+bench-devel
-Summary: %{summary}
-BuildArch: noarch
-
-%description -n %{name}+bench-devel %{_description}
-
-This package contains library source intended for building other packages
-which use "bench" feature of "%{crate}" crate.
-
-%files -n %{name}+bench-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/sources b/sources
index 37c28da..00d0851 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ena-0.14.0.crate) = bcf842f8f5da8a7e9b8e51df50bdf3f00234534f1d59d96bb1e45b0ee4fa74847eb8b9b5ca615a66d84d23c629d7386f28294a5c64d22efdf2903bc89faab2d4
+SHA512 (ena-0.14.1.crate) = 2754a103c3d01a1168f3419f0568b072e1d8d900b37e1321894a5a4886082f3d7d65b9770069d5cf477a327c891f802f8a7c52dbd6b904b972092c0ff0eb2f6c
commit 2eb71786e769d08b51d240e6f4679aefeeeabff5
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon Feb 27 20:07:45 2023 +0100
Convert to %autorelease and %autochangelog
[skip changelog]
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..3d8331c
--- /dev/null
+++ b/changelog
@@ -0,0 +1,15 @@
+* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Thu Apr 08 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.14.0-1
+- Initial package
diff --git a/rust-ena.spec b/rust-ena.spec
index 5e40a49..7885deb 100644
--- a/rust-ena.spec
+++ b/rust-ena.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.14.0
-Release: 5%{?dist}
+Release: %autorelease
Summary: Union-find, congruence closure, and other unification code
# Upstream license specification: MIT/Apache-2.0
@@ -84,18 +84,4 @@ which use "bench" feature of "%{crate}" crate.
%endif
%changelog
-* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
-- Second attempt - Rebuilt for
- https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Thu Apr 08 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.14.0-1
-- Initial package
+%autochangelog
1 year, 2 months
Architecture specific change in rpms/rust-bytesize.git
by githook-noreply@fedoraproject.org
The package rpms/rust-bytesize.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/rust-bytesize.git/commit/?id=8b6a....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 8b6a6039d07c57b7287dd9929862bee52ffb6648
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon Feb 27 19:57:39 2023 +0100
Update to version 1.2.0; Fixes RHBZ#2173143
diff --git a/.gitignore b/.gitignore
index af7d2e1..7da43ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/bytesize-1.0.0.crate
/bytesize-1.0.1.crate
/bytesize-1.1.0.crate
+/bytesize-1.2.0.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index ad8cd84..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-bytesize
-
-The rust-bytesize package
\ No newline at end of file
diff --git a/rust-bytesize.spec b/rust-bytesize.spec
index 07efe39..ff590dc 100644
--- a/rust-bytesize.spec
+++ b/rust-bytesize.spec
@@ -1,28 +1,22 @@
-# Generated by rust2rpm 18
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate bytesize
-Name: rust-%{crate}
-Version: 1.1.0
+Name: rust-bytesize
+Version: 1.2.0
Release: %autorelease
Summary: Utility for human-readable bytes representations
-# Upstream license specification: Apache-2.0
-License: ASL 2.0
+License: Apache-2.0
URL: https://crates.io/crates/bytesize
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
-Utility for human-readable bytes representations.}
+An utility for human-readable bytes representations.}
%description %{_description}
@@ -32,13 +26,13 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -46,11 +40,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+serde-devel
Summary: %{summary}
@@ -58,11 +52,11 @@ BuildArch: noarch
%description -n %{name}+serde-devel %{_description}
-This package contains library source intended for building other packages
-which use "serde" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "serde" feature of the "%{crate}" crate.
%files -n %{name}+serde-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/sources b/sources
index d33dc01..a3660df 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (bytesize-1.1.0.crate) = 36f35cf53c468cf011b231d3fc5d00c5224fa3d917854e347daeaaae53ae7ee36c4d8ba26788460d56c922c9ffb0eeebc60655fef7366ae42e221950d03f6715
+SHA512 (bytesize-1.2.0.crate) = 425d284141175f0e40ba88a77141269b65bb63175ca8d1624359309fab546dd9e2959470cf16dec3f69a41b334e45eef62ee34298d3a74f3e987b44a7df912f5
commit 9469de3cf02df3eb9610219aa837ce9e0eb91a0b
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 21:53:01 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 2 months
Architecture specific change in rpms/rust-bytesize.git
by githook-noreply@fedoraproject.org
The package rpms/rust-bytesize.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/rust-bytesize.git/commit/?id=8b6a....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 8b6a6039d07c57b7287dd9929862bee52ffb6648
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon Feb 27 19:57:39 2023 +0100
Update to version 1.2.0; Fixes RHBZ#2173143
diff --git a/.gitignore b/.gitignore
index af7d2e1..7da43ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/bytesize-1.0.0.crate
/bytesize-1.0.1.crate
/bytesize-1.1.0.crate
+/bytesize-1.2.0.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index ad8cd84..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-bytesize
-
-The rust-bytesize package
\ No newline at end of file
diff --git a/rust-bytesize.spec b/rust-bytesize.spec
index 07efe39..ff590dc 100644
--- a/rust-bytesize.spec
+++ b/rust-bytesize.spec
@@ -1,28 +1,22 @@
-# Generated by rust2rpm 18
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate bytesize
-Name: rust-%{crate}
-Version: 1.1.0
+Name: rust-bytesize
+Version: 1.2.0
Release: %autorelease
Summary: Utility for human-readable bytes representations
-# Upstream license specification: Apache-2.0
-License: ASL 2.0
+License: Apache-2.0
URL: https://crates.io/crates/bytesize
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
-Utility for human-readable bytes representations.}
+An utility for human-readable bytes representations.}
%description %{_description}
@@ -32,13 +26,13 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -46,11 +40,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+serde-devel
Summary: %{summary}
@@ -58,11 +52,11 @@ BuildArch: noarch
%description -n %{name}+serde-devel %{_description}
-This package contains library source intended for building other packages
-which use "serde" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "serde" feature of the "%{crate}" crate.
%files -n %{name}+serde-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/sources b/sources
index d33dc01..a3660df 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (bytesize-1.1.0.crate) = 36f35cf53c468cf011b231d3fc5d00c5224fa3d917854e347daeaaae53ae7ee36c4d8ba26788460d56c922c9ffb0eeebc60655fef7366ae42e221950d03f6715
+SHA512 (bytesize-1.2.0.crate) = 425d284141175f0e40ba88a77141269b65bb63175ca8d1624359309fab546dd9e2959470cf16dec3f69a41b334e45eef62ee34298d3a74f3e987b44a7df912f5
1 year, 2 months
Architecture specific change in rpms/rust-bit_field.git
by githook-noreply@fedoraproject.org
The package rpms/rust-bit_field.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/rust-bit_field.git/commit/?id=ceb....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit ceb38002944b52a4c0767e8eb6e6953cc1fde6ab
Author: Orion Poplawski <orion(a)nwra.com>
Date: Sat Feb 25 08:20:52 2023 -0700
Update to 0.10.2
diff --git a/.gitignore b/.gitignore
index b407596..d7b9405 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/bit_field-0.10.1.crate
+/bit_field-0.10.2.crate
diff --git a/rust-bit_field.spec b/rust-bit_field.spec
index adcfef2..f693370 100644
--- a/rust-bit_field.spec
+++ b/rust-bit_field.spec
@@ -1,11 +1,11 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate bit_field
Name: rust-bit_field
-Version: 0.10.1
+Version: 0.10.2
Release: %autorelease
Summary: Simple bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types
@@ -14,13 +14,11 @@ License: Apache-2.0 OR MIT
URL: https://crates.io/crates/bit_field
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Simple bit field trait providing get_bit, get_bits, set_bit, and set_bits
-methods for Rust's integral types.}
+Simple bit field trait providing get_bit, get_bits, set_bit, and
+set_bits methods for Rust's integral types.}
%description %{_description}
diff --git a/sources b/sources
index ad2ddb0..3acf781 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (bit_field-0.10.1.crate) = 4848d7ec592642913c7bd06cd3a0da49d3bb14291866cd22ead8e9a6b2939a787035d5cded87be3d2d3491283e31ea2cfb105885df4114720da98beb82990ee6
+SHA512 (bit_field-0.10.2.crate) = 99bacb002aa9ef89cef1403429807042135898614df85e59475772b90d2d21972ddc77ef9b129ca931355ff11bfb3de66b55b828bbf792f76300fc5cfef066a8
1 year, 2 months
Architecture specific change in rpms/lld15.git
by githook-noreply@fedoraproject.org
The package rpms/lld15.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/lld15.git/commit/?id=cc4719937d4f....
Change:
+ExcludeArch: s390x
Thanks.
Full change:
============
commit cc4719937d4f9758590b6454dcc8e2962d6945c9
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Mon Feb 27 15:19:56 2023 -0300
Import lld15
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e1b9ff7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/*.tar.xz
+/*.xz.sig
+/*.src.rpm
diff --git a/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch b/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch
new file mode 100644
index 0000000..ac8ed67
--- /dev/null
+++ b/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch
@@ -0,0 +1,48 @@
+From 760568cd24acd6ae9083b0dfea2c7c0ea6f0adc2 Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Thu, 30 Aug 2018 08:53:56 -0700
+Subject: [PATCH 1/2] [PATCH][lld] CMake: Check for gtest headers even if
+ lit.py is not present
+
+This makes it possible to build the unittests even withotu a full
+checkout of the llvm source tree.
+---
+ lld/CMakeLists.txt | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
+index d4e561b..a7406d1c 100644
+--- a/lld/CMakeLists.txt
++++ b/lld/CMakeLists.txt
+@@ -68,6 +68,15 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ set(LLVM_UTILS_PROVIDED ON)
+ endif()
+
++ # Check for gtest
++ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
++ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
++ AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
++ AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
++ add_subdirectory(${UNITTEST_DIR} utils/unittest)
++ endif()
++
++ # Check for lit
+ if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
+ # Note: path not really used, except for checking if lit was found
+ set(LLVM_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
+@@ -77,12 +86,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ set(LLVM_UTILS_PROVIDED ON)
+ set(LLD_TEST_DEPS FileCheck not)
+ endif()
+- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
+- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
+- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
+- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
+- add_subdirectory(${UNITTEST_DIR} utils/unittest)
+- endif()
+ else()
+ # Seek installed Lit.
+ find_program(LLVM_LIT
+--
+1.8.3.1
+
diff --git a/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
new file mode 100644
index 0000000..7d8beda
--- /dev/null
+++ b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
@@ -0,0 +1,498 @@
+From 43dfe54ce017c8d37eaec480a2f13a492bbc4203 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Thu, 25 Feb 2021 14:24:14 +0100
+Subject: [PATCH 2/2] [PATCH][lld] Import compact_unwind_encoding.h from
+ libunwind
+
+This avoids an implicit cross package dependency
+---
+ lld/include/mach-o/compact_unwind_encoding.h | 477 +++++++++++++++++++++++++++
+ 1 file changed, 477 insertions(+)
+ create mode 100644 lld/include/mach-o/compact_unwind_encoding.h
+
+diff --git a/lld/include/mach-o/compact_unwind_encoding.h b/lld/include/mach-o/compact_unwind_encoding.h
+new file mode 100644
+index 0000000..5301b10
+--- /dev/null
++++ b/lld/include/mach-o/compact_unwind_encoding.h
+@@ -0,0 +1,477 @@
++//===------------------ mach-o/compact_unwind_encoding.h ------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//
++// Darwin's alternative to DWARF based unwind encodings.
++//
++//===----------------------------------------------------------------------===//
++
++
++#ifndef __COMPACT_UNWIND_ENCODING__
++#define __COMPACT_UNWIND_ENCODING__
++
++#include <stdint.h>
++
++//
++// Compilers can emit standard DWARF FDEs in the __TEXT,__eh_frame section
++// of object files. Or compilers can emit compact unwind information in
++// the __LD,__compact_unwind section.
++//
++// When the linker creates a final linked image, it will create a
++// __TEXT,__unwind_info section. This section is a small and fast way for the
++// runtime to access unwind info for any given function. If the compiler
++// emitted compact unwind info for the function, that compact unwind info will
++// be encoded in the __TEXT,__unwind_info section. If the compiler emitted
++// DWARF unwind info, the __TEXT,__unwind_info section will contain the offset
++// of the FDE in the __TEXT,__eh_frame section in the final linked image.
++//
++// Note: Previously, the linker would transform some DWARF unwind infos into
++// compact unwind info. But that is fragile and no longer done.
++
++
++//
++// The compact unwind endoding is a 32-bit value which encoded in an
++// architecture specific way, which registers to restore from where, and how
++// to unwind out of the function.
++//
++typedef uint32_t compact_unwind_encoding_t;
++
++
++// architecture independent bits
++enum {
++ UNWIND_IS_NOT_FUNCTION_START = 0x80000000,
++ UNWIND_HAS_LSDA = 0x40000000,
++ UNWIND_PERSONALITY_MASK = 0x30000000,
++};
++
++
++
++
++//
++// x86
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=ebp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// ebp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_MODE_MASK = 0x0F000000,
++ UNWIND_X86_MODE_EBP_FRAME = 0x01000000,
++ UNWIND_X86_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_EBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_EBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_REG_NONE = 0,
++ UNWIND_X86_REG_EBX = 1,
++ UNWIND_X86_REG_ECX = 2,
++ UNWIND_X86_REG_EDX = 3,
++ UNWIND_X86_REG_EDI = 4,
++ UNWIND_X86_REG_ESI = 5,
++ UNWIND_X86_REG_EBP = 6,
++};
++
++//
++// For x86 there are four modes for the compact unwind encoding:
++// UNWIND_X86_MODE_EBP_FRAME:
++// EBP based frame where EBP is push on stack immediately after return address,
++// then ESP is moved to EBP. Thus, to unwind ESP is restored with the current
++// EPB value, then EBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts EBP-4 to EBP-1020. The offset/4
++// is encoded in the UNWIND_X86_EBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_EBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_MODE_STACK_IMMD:
++// A "frameless" (EBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the ESP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/4 is
++// encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024).
++// The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_MODE_STACK_IND:
++// A "frameless" (EBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subl $nnnnnnnn,ESP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++// The permutation encoding is a Lehmer code sequence encoded into a
++// single variable-base number so we can encode the ordering of up to
++// six registers in a 10-bit space.
++//
++// The following is the algorithm used to create the permutation encoding used
++// with frameless stacks. It is passed the number of registers to be saved and
++// an array of the register numbers saved.
++//
++//uint32_t permute_encode(uint32_t registerCount, const uint32_t registers[6])
++//{
++// uint32_t renumregs[6];
++// for (int i=6-registerCount; i < 6; ++i) {
++// int countless = 0;
++// for (int j=6-registerCount; j < i; ++j) {
++// if ( registers[j] < registers[i] )
++// ++countless;
++// }
++// renumregs[i] = registers[i] - countless -1;
++// }
++// uint32_t permutationEncoding = 0;
++// switch ( registerCount ) {
++// case 6:
++// permutationEncoding |= (120*renumregs[0] + 24*renumregs[1]
++// + 6*renumregs[2] + 2*renumregs[3]
++// + renumregs[4]);
++// break;
++// case 5:
++// permutationEncoding |= (120*renumregs[1] + 24*renumregs[2]
++// + 6*renumregs[3] + 2*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 4:
++// permutationEncoding |= (60*renumregs[2] + 12*renumregs[3]
++// + 3*renumregs[4] + renumregs[5]);
++// break;
++// case 3:
++// permutationEncoding |= (20*renumregs[3] + 4*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 2:
++// permutationEncoding |= (5*renumregs[4] + renumregs[5]);
++// break;
++// case 1:
++// permutationEncoding |= (renumregs[5]);
++// break;
++// }
++// return permutationEncoding;
++//}
++//
++
++
++
++
++//
++// x86_64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=rbp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// rbp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_64_MODE_MASK = 0x0F000000,
++ UNWIND_X86_64_MODE_RBP_FRAME = 0x01000000,
++ UNWIND_X86_64_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_64_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_64_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_64_RBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_64_RBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_64_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_64_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_64_REG_NONE = 0,
++ UNWIND_X86_64_REG_RBX = 1,
++ UNWIND_X86_64_REG_R12 = 2,
++ UNWIND_X86_64_REG_R13 = 3,
++ UNWIND_X86_64_REG_R14 = 4,
++ UNWIND_X86_64_REG_R15 = 5,
++ UNWIND_X86_64_REG_RBP = 6,
++};
++//
++// For x86_64 there are four modes for the compact unwind encoding:
++// UNWIND_X86_64_MODE_RBP_FRAME:
++// RBP based frame where RBP is push on stack immediately after return address,
++// then RSP is moved to RBP. Thus, to unwind RSP is restored with the current
++// EPB value, then RBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts RBP-8 to RBP-2040. The offset/8
++// is encoded in the UNWIND_X86_64_RBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_64_RBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_64_MODE_STACK_IMMD:
++// A "frameless" (RBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the RSP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/8 is
++// encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048).
++// The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_64_MODE_STACK_IND:
++// A "frameless" (RBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subq $nnnnnnnn,RSP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_64_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++// ARM64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 4=frame-based, 3=DWARF, 2=frameless
++// frameless:
++// 12-bits of stack size
++// frame-based:
++// 4-bits D reg pairs saved
++// 5-bits X reg pairs saved
++// DWARF:
++// 24-bits offset of DWARF FDE in __eh_frame section
++//
++enum {
++ UNWIND_ARM64_MODE_MASK = 0x0F000000,
++ UNWIND_ARM64_MODE_FRAMELESS = 0x02000000,
++ UNWIND_ARM64_MODE_DWARF = 0x03000000,
++ UNWIND_ARM64_MODE_FRAME = 0x04000000,
++
++ UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001,
++ UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002,
++ UNWIND_ARM64_FRAME_X23_X24_PAIR = 0x00000004,
++ UNWIND_ARM64_FRAME_X25_X26_PAIR = 0x00000008,
++ UNWIND_ARM64_FRAME_X27_X28_PAIR = 0x00000010,
++ UNWIND_ARM64_FRAME_D8_D9_PAIR = 0x00000100,
++ UNWIND_ARM64_FRAME_D10_D11_PAIR = 0x00000200,
++ UNWIND_ARM64_FRAME_D12_D13_PAIR = 0x00000400,
++ UNWIND_ARM64_FRAME_D14_D15_PAIR = 0x00000800,
++
++ UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK = 0x00FFF000,
++ UNWIND_ARM64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++// For arm64 there are three modes for the compact unwind encoding:
++// UNWIND_ARM64_MODE_FRAME:
++// This is a standard arm64 prolog where FP/LR are immediately pushed on the
++// stack, then SP is copied to FP. If there are any non-volatile registers
++// saved, then are copied into the stack frame in pairs in a contiguous
++// range right below the saved FP/LR pair. Any subset of the five X pairs
++// and four D pairs can be saved, but the memory layout must be in register
++// number order.
++// UNWIND_ARM64_MODE_FRAMELESS:
++// A "frameless" leaf function, where FP/LR are not saved. The return address
++// remains in LR throughout the function. If any non-volatile registers
++// are saved, they must be pushed onto the stack before any stack space is
++// allocated for local variables. The stack sized (including any saved
++// non-volatile registers) divided by 16 is encoded in the bits
++// UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK.
++// UNWIND_ARM64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Relocatable Object Files: __LD,__compact_unwind
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// A compiler can generated compact unwind information for a function by adding
++// a "row" to the __LD,__compact_unwind section. This section has the
++// S_ATTR_DEBUG bit set, so the section will be ignored by older linkers.
++// It is removed by the new linker, so never ends up in final executables.
++// This section is a table, initially with one row per function (that needs
++// unwind info). The table columns and some conceptual entries are:
++//
++// range-start pointer to start of function/range
++// range-length
++// compact-unwind-encoding 32-bit encoding
++// personality-function or zero if no personality function
++// lsda or zero if no LSDA data
++//
++// The length and encoding fields are 32-bits. The other are all pointer sized.
++//
++// In x86_64 assembly, these entry would look like:
++//
++// .section __LD,__compact_unwind,regular,debug
++//
++// #compact unwind for _foo
++// .quad _foo
++// .set L1,LfooEnd-_foo
++// .long L1
++// .long 0x01010001
++// .quad 0
++// .quad 0
++//
++// #compact unwind for _bar
++// .quad _bar
++// .set L2,LbarEnd-_bar
++// .long L2
++// .long 0x01020011
++// .quad __gxx_personality
++// .quad except_tab1
++//
++//
++// Notes: There is no need for any labels in the the __compact_unwind section.
++// The use of the .set directive is to force the evaluation of the
++// range-length at assembly time, instead of generating relocations.
++//
++// To support future compiler optimizations where which non-volatile registers
++// are saved changes within a function (e.g. delay saving non-volatiles until
++// necessary), there can by multiple lines in the __compact_unwind table for one
++// function, each with a different (non-overlapping) range and each with
++// different compact unwind encodings that correspond to the non-volatiles
++// saved at that range of the function.
++//
++// If a particular function is so wacky that there is no compact unwind way
++// to encode it, then the compiler can emit traditional DWARF unwind info.
++// The runtime will use which ever is available.
++//
++// Runtime support for compact unwind encodings are only available on 10.6
++// and later. So, the compiler should not generate it when targeting pre-10.6.
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Final Linked Images: __TEXT,__unwind_info
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// The __TEXT,__unwind_info section is laid out for an efficient two level lookup.
++// The header of the section contains a coarse index that maps function address
++// to the page (4096 byte block) containing the unwind info for that function.
++//
++
++#define UNWIND_SECTION_VERSION 1
++struct unwind_info_section_header
++{
++ uint32_t version; // UNWIND_SECTION_VERSION
++ uint32_t commonEncodingsArraySectionOffset;
++ uint32_t commonEncodingsArrayCount;
++ uint32_t personalityArraySectionOffset;
++ uint32_t personalityArrayCount;
++ uint32_t indexSectionOffset;
++ uint32_t indexCount;
++ // compact_unwind_encoding_t[]
++ // uint32_t personalities[]
++ // unwind_info_section_header_index_entry[]
++ // unwind_info_section_header_lsda_index_entry[]
++};
++
++struct unwind_info_section_header_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t secondLevelPagesSectionOffset; // section offset to start of regular or compress page
++ uint32_t lsdaIndexArraySectionOffset; // section offset to start of lsda_index array for this range
++};
++
++struct unwind_info_section_header_lsda_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t lsdaOffset;
++};
++
++//
++// There are two kinds of second level index pages: regular and compressed.
++// A compressed page can hold up to 1021 entries, but it cannot be used
++// if too many different encoding types are used. The regular page holds
++// 511 entries.
++//
++
++struct unwind_info_regular_second_level_entry
++{
++ uint32_t functionOffset;
++ compact_unwind_encoding_t encoding;
++};
++
++#define UNWIND_SECOND_LEVEL_REGULAR 2
++struct unwind_info_regular_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_REGULAR
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ // entry array
++};
++
++#define UNWIND_SECOND_LEVEL_COMPRESSED 3
++struct unwind_info_compressed_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_COMPRESSED
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ uint16_t encodingsPageOffset;
++ uint16_t encodingsCount;
++ // 32-bit entry array
++ // encodings array
++};
++
++#define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) (entry & 0x00FFFFFF)
++#define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) ((entry >> 24) & 0xFF)
++
++
++
++#endif
++
+--
+1.8.3.1
+
diff --git a/lld15.spec b/lld15.spec
new file mode 100644
index 0000000..34e79f4
--- /dev/null
+++ b/lld15.spec
@@ -0,0 +1,530 @@
+%global toolchain clang
+
+# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
+# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
+%undefine _include_frame_pointers
+
+%bcond_without check
+%bcond_without compat_build
+
+#global rc_ver 3
+%global lld_srcdir lld-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
+%global maj_ver 15
+%global min_ver 0
+%global patch_ver 7
+
+%if %{with compat_build}
+%global pkg_name lld%{maj_ver}
+%global install_prefix %{_libdir}/llvm%{maj_ver}
+%global install_includedir %{install_prefix}/include
+%global install_libdir %{install_prefix}/lib
+%else
+%global pkg_name lld
+%global install_prefix /usr
+%global install_includedir %{_includedir}
+%global install_libdir %{_libdir}
+%endif
+
+Name: %{pkg_name}
+Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
+Release: 3%{?dist}
+Summary: The LLVM Linker
+
+License: Apache-2.0 WITH LLVM-exception OR NCSA
+URL: http://llvm.org
+Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
+Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
+Source2: release-keys.asc
+
+ExcludeArch: s390x
+
+Patch0: 0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch
+
+# Bundle libunwind header need during build for MachO support
+Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
+
+BuildRequires: clang
+BuildRequires: cmake
+BuildRequires: ninja-build
+%if %{with compat_build}
+BuildRequires: llvm%{maj_ver}-devel = %{version}
+%else
+BuildRequires: llvm-devel = %{version}
+BuildRequires: llvm-test = %{version}
+BuildRequires: llvm-googletest = %{version}
+%endif
+BuildRequires: ncurses-devel
+BuildRequires: zlib-devel
+
+# For make check:
+BuildRequires: python3-rpm-macros
+BuildRequires: python3-lit
+
+# For gpg source verification
+BuildRequires: gnupg2
+
+Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/update-alternatives
+
+Requires: %{name}-libs = %{version}-%{release}
+
+%description
+The LLVM project linker.
+
+%package devel
+Summary: Libraries and header files for LLD
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+%if %{without compat_build}
+# lld tools are referenced in the cmake files, so we need to add lld as a
+# dependency.
+Requires: %{name}%{?_isa} = %{version}-%{release}
+%endif
+
+%description devel
+This package contains library and header files needed to develop new native
+programs that use the LLD infrastructure.
+
+%package libs
+Summary: LLD shared libraries
+
+%description libs
+Shared libraries for LLD.
+
+%prep
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -n %{lld_srcdir} -p2
+
+%if %{with compat_build}
+# For compat builds, we don't want to build the actual lld binary. While there is an
+# LLD_BUILD_TOOLS cmake option, it is incomplete in various ways (e.g. still leaves install
+# targets and symlinks), so instead skip the tools/lld build entirely.
+# We can't simply delete the binaries after the fact, because this would leave checks for
+# their existence in the cmake exports.
+sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt
+%endif
+
+%build
+
+%cmake \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
+ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DLLVM_DYLIB_COMPONENTS="all" \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+ -DPYTHON_EXECUTABLE=%{__python3} \
+%if %{with compat_build}
+ -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
+ -DLLVM_INCLUDE_TESTS=OFF \
+%else
+ -DLLVM_INCLUDE_TESTS=ON \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DLLVM_LIT_ARGS="-sv \
+ --path %{_libdir}/llvm" \
+%if 0%{?__isa_bits} == 64
+ -DLLVM_LIBDIR_SUFFIX=64 \
+%else
+ -DLLVM_LIBDIR_SUFFIX= \
+%endif
+%endif
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src
+
+%cmake_build
+
+%install
+
+# Install libraries and binaries
+%cmake_install
+
+# This is generated by Patch1 during build and (probably) must be removed afterward
+rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h
+
+%if %{without compat_build}
+# Required when using update-alternatives:
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/
+touch %{buildroot}%{_bindir}/ld
+
+%post
+%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1
+
+%postun
+if [ $1 -eq 0 ] ; then
+ %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld
+fi
+%endif
+
+%check
+
+%if %{without compat_build}
+%if %{with check}
+%cmake_build --target check-lld
+%endif
+
+%ldconfig_scriptlets libs
+%endif
+
+%if %{without compat_build}
+%files
+%license LICENSE.TXT
+%ghost %{_bindir}/ld
+%{_bindir}/lld*
+%{_bindir}/ld.lld
+%{_bindir}/ld64.lld
+%{_bindir}/wasm-ld
+%endif
+
+%files devel
+%{install_includedir}/lld
+%{install_libdir}/liblld*.so
+%{install_libdir}/cmake/lld/
+
+%files libs
+%{install_libdir}/liblld*.so.*
+
+%changelog
+* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.7-3
+- Update license to SPDX identifiers.
+- Include the Apache license adopted in 2019.
+
+* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 15.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Fri Jan 13 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.7-1
+- Update to LLVM 15.0.7
+
+* Mon Jan 09 2023 Tom Stellard <tstellar(a)redhat.com> - 15.0.6-2
+- Omit frame pointers when building
+
+* Tue Dec 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-1
+- Update to LLVM 15.0.6
+
+* Mon Nov 14 2022 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.4-2
+- Enable LTO.
+
+* Mon Nov 07 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.4-1
+- Update to LLVM 15.0.4
+
+* Tue Oct 11 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-2
+- Remove lld-test package
+
+* Tue Sep 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-1
+- Update to LLVM 15.0.0
+
+* Tue Aug 09 2022 Nikita Popov <npopov(a)redhat.com> - 14.0.5-4
+- Backport --package-metadata flag
+
+* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 14.0.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Mon Jul 11 2022 Konrad Kleine <kkleine(a)redhat.com> - 14.0.5-2
+- Set build type to RelWithDebInfo
+
+* Fri Jun 17 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.5-1
+- Update to 14.0.5
+
+* Thu Mar 31 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.0-2
+- Fix CI test failure: gcc-compat-basic
+
+* Mon Feb 28 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.0~rc1-1
+- Update to 14.0.0rc1
+
+* Thu Feb 03 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1-1
+- Update to LLVM 13.0.1 final
+
+* Tue Feb 01 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc3-1
+- Update to LLVM 13.0.1 rc3
+
+* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.0.1~rc2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jan 14 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc2-1
+- Update to LLVM 13.0.1rc2
+
+* Wed Jan 12 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc1-1
+- Update to LLVM 13.0.1rc1
+
+* Wed Oct 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-2
+- Rebuild for llvm soname bump
+
+* Fri Oct 01 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-1
+- 13.0.0 Release
+
+* Thu Sep 30 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc4-1
+- 13.0.0-rc4 Release
+
+* Mon Sep 20 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-3
+- 13.0.0-rc3 Release
+
+* Tue Sep 14 2021 Konrad Kleine <kkleine(a)redhat.com> - 13.0.0~rc1-2
+- Add --without=check option
+
+* Fri Aug 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-1
+- 13.0.0-rc1 Release
+
+* Thu Jul 22 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 12.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jul 13 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-1
+- 12.0.1 Release
+
+* Wed Jun 30 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc3-1
+- 12.0.1-rc3 Release
+
+* Tue Jun 01 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc1-1
+- 12.0.1-rc1 Release
+
+* Fri Apr 16 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-1
+- 12.0.0 Release
+
+* Thu Apr 08 2021 sguelton(a)redhat.com - 12.0.0-0.8.rc5
+- New upstream release candidate
+
+* Wed Apr 07 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-0.7.rc4
+- Set executable permissions on run-lit-tests
+
+* Fri Apr 02 2021 sguelton(a)redhat.com - 12.0.0-0.6.rc4
+- New upstream release candidate
+
+* Wed Mar 31 2021 Jonathan Wakely <jwakely(a)redhat.com> - 12.0.0-0.5.rc3
+- Rebuilt for removed libstdc++ symbols (#1937698)
+
+* Thu Mar 11 2021 sguelton(a)redhat.com - 12.0.0-0.4.rc3
+- LLVM 12.0.0 rc3
+
+* Wed Mar 10 2021 sguelton(a)redhat.com - 12.0.0-0.3.rc2
+- rebuilt
+
+* Wed Feb 24 2021 sguelton(a)redhat.com - 12.0.0-0.2.rc2
+- llvm 12.0.0-rc2 release
+
+* Tue Feb 16 2021 sguelton(a)redhat.com - 12.0.0-0.1.rc1
+- llvm 12.0.0-rc1 release
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 11.1.0-0.3.rc2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.2.rc2
+- llvm 11.1.0-rc2 release
+
+* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
+- 11.1.0-rc1 release
+
+* Wed Jan 06 2021 Serge Guelton - 11.0.1-3
+- LLVM 11.0.1 final
+
+* Tue Dec 22 2020 sguelton(a)redhat.com - 11.0.1-2.rc2
+- llvm 11.0.1-rc2
+
+* Tue Dec 01 2020 sguelton(a)redhat.com - 11.0.1-1.rc1
+- llvm 11.0.1-rc1
+
+* Thu Nov 12 2020 sguelton(a)redhat.com - 11.0.0-3
+- Exclude s390x, unsupported upstream
+
+* Mon Oct 19 2020 sguelton(a)redhat.com - 11.0.0-2
+- Rebuilt with all gating tests on
+
+* Thu Oct 15 2020 sguelton(a)redhat.com - 11.0.0-1
+- Fix NVR
+
+* Mon Oct 12 2020 sguelton(a)redhat.com - 11.0.0-0.6
+- llvm 11.0.0 - final release
+
+* Thu Oct 08 2020 sguelton(a)redhat.com - 11.0.0-0.5.rc6
+- 11.0.0-rc6
+
+* Wed Oct 07 2020 sguelton(a)redhat.com - 11.0.0-0.4.rc5
+- Update CI tests
+
+* Fri Oct 02 2020 sguelton(a)redhat.com - 11.0.0-0.3.rc5
+- 11.0.0-rc5 Release
+
+* Sun Sep 27 2020 sguelton(a)redhat.com - 11.0.0-0.2.rc3
+- Fix NVR
+
+* Thu Sep 24 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc3
+- 11.0.0-rc3 Release
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc2
+- 11.0.0-rc2 Release
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.1.rc1
+- 11.0.0-rc1 Release
+
+* Mon Aug 10 2020 sguelton(a)redhat.com - 10.0.0-7
+- use %%license macro
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-6
+- Disable LTO
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-5
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 20 2020 sguelton(a)redhat.com - 10.0.0-3
+- Use generic cmake macros
+- Use Ninja as build system
+- Remove chrpath dependency
+
+* Fri Jul 17 2020 sguelton(a)redhat.com - 10.0.0-2
+- Make test archive arch-independent
+
+* Mon Mar 30 2020 sguelton(a)redhat.com - 10.0.0-1
+- 10.0.0 final
+
+* Wed Mar 25 2020 sguelton(a)redhat.com - 10.0.0-0.6.rc6
+- 10.0.0 rc6
+
+* Fri Mar 20 2020 sguelton(a)redhat.com - 10.0.0-0.5.rc5
+- 10.0.0 rc5
+
+* Sun Mar 15 2020 sguelton(a)redhat.com - 10.0.0-0.4.rc4
+- 10.0.0 rc4
+
+* Thu Mar 05 2020 sguelton(a)redhat.com - 10.0.0-0.3.rc3
+- 10.0.0 rc3
+
+* Fri Feb 14 2020 sguelton(a)redhat.com - 10.0.0-0.2.rc2
+- 10.0.0 rc2
+
+* Fri Jan 31 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc1
+- 10.0.0 rc1
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 9.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Dec 19 2019 Tom Stellard <tstellar(a)redhat.com> -9.0.1-1
+- 9.0.1 Release
+
+* Sat Dec 14 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-6
+- Fix some rpmdiff errors
+
+* Fri Dec 13 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-5
+- Remove build artifacts installed with unittests
+
+* Thu Dec 05 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-4
+- Enable GPG-based source file verification
+
+* Thu Dec 05 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-3
+- Add lld-test package
+
+* Thu Nov 14 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-2
+- Add explicit lld-libs requires to fix rpmdiff errors
+
+* Thu Sep 19 2019 Tom Stellard <tstellar(a)redhat.com> -9.0.0-1
+- 9.0.0 Release
+
+* Thu Aug 22 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.1.rc3
+- 9.0.0-rc3 Release
+
+* Tue Aug 20 2019 Tom Stellard <tstellar(a)redhat.com> - 8.0.0-3
+- touch /usr/bin/ld as required by the packaging guidelines for
+ update-alternatives
+
+* Tue Aug 13 2019 Tom Stellard <tstellar(a)redhat.com> - 8.0.0-2
+- Add update-alternative for ld
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 8.0.0-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed Mar 20 2019 sguelton(a)redhat.com - 8.0.0-1
+- 8.0.0 final
+
+* Tue Mar 12 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc4
+- 8.0.0 Release candidate 4
+
+* Tue Mar 5 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc3
+- Cleanup specfile after llvm specfile update
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.3.rc3
+- 8.0.0 Release candidate 3
+
+* Fri Feb 22 2019 sguelton(a)redhat.com - 8.0.0-0.2.rc2
+- 8.0.0 Release candidate 2
+
+* Mon Feb 11 2019 sguelton(a)redhat.com - 8.0.0-0.1.rc1
+- 8.0.0 Release candidate 1
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0.1-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Jan 14 2019 sguelton(a)redhat.com - 7.0.1-3
+- Fix lld + annobin integration & Setup basic CI tests
+
+* Mon Dec 17 2018 sguelton(a)redhat.com - 7.0.1-2
+- Update lit dependency
+
+* Mon Dec 17 2018 sguelton(a)redhat.com - 7.0.1-1
+- 7.0.1 Release
+
+* Tue Dec 04 2018 sguelton(a)redhat.com - 7.0.0-2
+- Ensure rpmlint passes on specfile
+
+* Mon Sep 24 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-1
+- 7.0.1 Release
+
+* Tue Sep 11 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.4.rc3
+- 7.0.0-rc3 Release
+
+* Fri Aug 31 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.3.rc2
+- 7.0.0-rc2 Release
+
+* Thu Aug 30 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.2.rc1
+- Enable make check
+
+* Mon Aug 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.1.rc1
+- 7.0.0-rc1 Release
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Jun 27 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-1
+- 6.0.1 Release
+
+* Fri May 11 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.1.rc1
+- 6.0.1-rc1 Release
+
+* Thu Mar 08 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-1
+- 6.0.0 Release
+
+* Tue Feb 13 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.3.rc2
+- 6.0.0-rc2 Release
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-0.2.rc1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Jan 25 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.1.rc1
+- 6.0.0-rc1 Release
+
+* Thu Dec 21 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-1
+- 5.0.1 Release
+
+* Mon Sep 11 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-1
+- 5.0.0 Release
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Jul 06 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-2
+- Backport r307092
+
+* Tue Jul 04 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-1
+- 4.0.1 Release
+
+* Tue Jul 04 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-4
+- Fix build without llvm-static
+
+* Wed May 31 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-3
+- Remove llvm-static dependency
+
+* Mon May 15 2017 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 4.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Tue Mar 14 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-1
+- lld 4.0.0 Final Release
diff --git a/release-keys.asc b/release-keys.asc
new file mode 100644
index 0000000..0d3789a
--- /dev/null
+++ b/release-keys.asc
@@ -0,0 +1,104 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
+=Lvw+
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=tMzl
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/sources b/sources
new file mode 100644
index 0000000..76661bd
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (lld-15.0.7.src.tar.xz) = 5dc0690c1eb3c37ee29c4add65a08f7b93ce1363cf9099243c9dc1124d1ca77fe19bbf24dad3984de4553eda716f706d49dff63461b709bec6645272e67f0178
+SHA512 (lld-15.0.7.src.tar.xz.sig) = f0cf9c7ef3c99f17c40bd28436ecfdbd939f8e145f2ccc5f8c52ec846b633dc073e6bd5dc6cdc6ce213f7404a491ea992440b5d0ba080ba68aadf480f9a5d373
1 year, 2 months
Architecture specific change in rpms/clang15.git
by githook-noreply@fedoraproject.org
The package rpms/clang15.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/clang15.git/commit/?id=f4455e99ff....
Change:
+%ifarch %{arm}
Thanks.
Full change:
============
commit 5d0df80e86e5b7cb19489ae082092544b0d3ea91
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Fri Feb 17 20:35:30 2023 -0300
Remove references to clang-tools-extra
This source code is not used in compat packages.
diff --git a/sources b/sources
index 217a12d..d2b2345 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,2 @@
SHA512 (clang-15.0.7.src.tar.xz) = 9fd2736a9f5993ddbb5b3c507fe497234a6def64f6f418f379d1ca56c9c361ad1ae9a5445ab938230fbc1671ec00b4f802a412b048569023863c20dc6bb46a1f
SHA512 (clang-15.0.7.src.tar.xz.sig) = e1b41c5a6509c3554794bfa1b8d048f13268bc2234d7480f04f7700e27bd9d53e40bc1433885716a64da57458f3041c42a66639045476daefffc3f5d2e3d6efd
-SHA512 (clang-tools-extra-15.0.7.src.tar.xz) = dd95d261d3a1618967b698e97ac0b41204d872d7479c0c832fcf5a91fe447af6a97fa794de07b3e271285867b30b905688f090e98f516b9df4cdfb3bad9defc6
-SHA512 (clang-tools-extra-15.0.7.src.tar.xz.sig) = 10887b80d453d1ec826afbf5cfd937d5b671ed73f54691072b2b097da21f9358b8d6372df79200dc0694cbbc40b816c4139690b4e7033ba03a8a9b92611ee4ce
commit f4455e99ffd98b07ae20efb6a5a8246593c6ce6a
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Thu Feb 16 17:11:23 2023 -0300
Import clang15
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4f5174a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/*.src.rpm
+/*.src.tar.xz
+/*.src.tar.xz.sig
+/cmake/
+/results_clang/
diff --git a/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch b/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
new file mode 100644
index 0000000..6c94b4d
--- /dev/null
+++ b/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
@@ -0,0 +1,59 @@
+From d68a5a7817dc0d43853d8b84c9185dc24338664f Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Wed, 6 Oct 2021 05:32:44 +0000
+Subject: [PATCH] Driver: Add a gcc equivalent triple to the list of triples to
+ search
+
+There are some gcc triples, like x86_64-redhat-linux, that provide the
+same behavior as a clang triple with a similar name (e.g.
+x86_64-redhat-linux-gnu). When searching for a gcc install, also search
+for a gcc equivalent triple if one exists.
+
+Differential Revision: https://reviews.llvm.org/D111207
+---
+ clang/lib/Driver/ToolChains/Gnu.cpp | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
+index fe5bda5c6605..fd4a7f72be14 100644
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
+@@ -1884,6 +1884,18 @@ static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
+ return GCC_INSTALL_PREFIX;
+ }
+
++/// This function takes a 'clang' triple and converts it to an equivalent gcc
++/// triple.
++static const char *ConvertToGccTriple(StringRef CandidateTriple) {
++ return llvm::StringSwitch<const char *>(CandidateTriple)
++ .Case("aarch64-redhat-linux-gnu", "aarch64-redhat-linux")
++ .Case("i686-redhat-linux-gnu", "i686-redhat-linux")
++ .Case("ppc64le-redhat-linux-gnu", "ppc64le-redhat-linux")
++ .Case("s390x-redhat-linux-gnu", "s390x-redhat-linux")
++ .Case("x86_64-redhat-linux-gnu", "x86_64-redhat-linux")
++ .Default(NULL);
++}
++
+ /// Initialize a GCCInstallationDetector from the driver.
+ ///
+ /// This performs all of the autodetection and sets up the various paths.
+@@ -1904,6 +1916,16 @@ void Generic_GCC::GCCInstallationDetector::init(
+ // The compatible GCC triples for this particular architecture.
+ SmallVector<StringRef, 16> CandidateTripleAliases;
+ SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
++
++ // In some cases gcc uses a slightly different triple than clang for the
++ // same target. Convert the clang triple to the gcc equivalent and use that
++ // to search for the gcc install.
++ const char *ConvertedTriple = ConvertToGccTriple(TargetTriple.str());
++ if (ConvertedTriple) {
++ CandidateTripleAliases.push_back(ConvertedTriple);
++ CandidateBiarchTripleAliases.push_back(ConvertedTriple);
++ }
++
+ CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
+ CandidateTripleAliases, CandidateBiarchLibDirs,
+ CandidateBiarchTripleAliases);
+--
+2.26.2
+
diff --git a/0001-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch b/0001-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch
new file mode 100644
index 0000000..87c9b93
--- /dev/null
+++ b/0001-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch
@@ -0,0 +1,29 @@
+From 537e325f180d3d82bbef64aac71efcb0256d6916 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <npopov(a)redhat.com>
+Date: Fri, 2 Sep 2022 16:30:15 +0200
+Subject: [PATCH] Mark fopenmp-implicit-rpath as NoArgumentUnused
+
+We pass this option unconditionally in LDFLAGS, make sure this
+does not warn if openmp is not used, as this may break some
+build systems.
+---
+ clang/include/clang/Driver/Options.td | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
+index d921ea5d5da9..d883fd3a8f04 100644
+--- a/clang/include/clang/Driver/Options.td
++++ b/clang/include/clang/Driver/Options.td
+@@ -4118,7 +4118,8 @@ defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
+ LangOpts<"OpenMP">,
+ DefaultTrue,
+ PosFlag<SetTrue, [], "Set rpath on OpenMP executables">,
+- NegFlag<SetFalse>>;
++ NegFlag<SetFalse>,
++ BothFlags<[NoArgumentUnused]>>;
+ def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>,
+ Group<Link_Group>;
+ def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>,
+--
+2.37.2
+
diff --git a/0001-PATCH-clang-Reorganize-gtest-integration.patch b/0001-PATCH-clang-Reorganize-gtest-integration.patch
new file mode 100644
index 0000000..e854f01
--- /dev/null
+++ b/0001-PATCH-clang-Reorganize-gtest-integration.patch
@@ -0,0 +1,42 @@
+From c6b921c8d833546946b70a8c2640032fd7c62461 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Thu, 25 Feb 2021 14:04:52 +0100
+Subject: [PATCH 1/6] [PATCH][clang] Reorganize gtest integration
+
+---
+ clang/CMakeLists.txt | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
+index 9e74014..0185276 100644
+--- a/clang/CMakeLists.txt
++++ b/clang/CMakeLists.txt
+@@ -153,12 +153,6 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
+ set(LLVM_UTILS_PROVIDED ON)
+ set(CLANG_TEST_DEPS FileCheck count not)
+ endif()
+- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
+- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
+- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
+- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
+- add_subdirectory(${UNITTEST_DIR} utils/unittest)
+- endif()
+ else()
+ # Seek installed Lit.
+ find_program(LLVM_LIT
+@@ -537,7 +531,11 @@ endif()
+
+
+ if( CLANG_INCLUDE_TESTS )
+- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
++ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
++ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
++ AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
++ AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
++ add_subdirectory(${UNITTEST_DIR} utils/unittest)
+ add_subdirectory(unittests)
+ list(APPEND CLANG_TEST_DEPS ClangUnitTests)
+ list(APPEND CLANG_TEST_PARAMS
+--
+1.8.3.1
+
diff --git a/0001-Take-into-account-Fedora-Specific-install-dir-for-li.patch b/0001-Take-into-account-Fedora-Specific-install-dir-for-li.patch
new file mode 100644
index 0000000..4a8fda9
--- /dev/null
+++ b/0001-Take-into-account-Fedora-Specific-install-dir-for-li.patch
@@ -0,0 +1,45 @@
+From a85305a801c39720d7ec1c9441a88fef1ac19435 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Fri, 9 Sep 2022 10:17:01 +0200
+Subject: [PATCH] Take into account Fedora Specific install dir for libunwind
+
+---
+ clang/lib/Driver/ToolChains/CommonArgs.cpp | 8 +++++++-
+ clang/test/Driver/linux-ld.c | 2 +-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+index 443725f..c1401a6 100644
+--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
++++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+@@ -1529,7 +1529,13 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
+ CmdArgs.push_back("-lgcc_s");
+ break;
+ }
+- case ToolChain::UNW_CompilerRT:
++ case ToolChain::UNW_CompilerRT: {
++ SmallString<256> DefaultLibPath =
++ llvm::sys::path::parent_path(TC.getDriver().Dir);
++ llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX);
++ CmdArgs.push_back(
++ strdup(("-L" + DefaultLibPath + "/llvm-unwind").str().c_str()));
++ }
+ if (TC.getTriple().isOSAIX()) {
+ // AIX only has libunwind as a shared library. So do not pass
+ // anything in if -static is specified.
+diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c
+index e76b35d..dfb8eca 100644
+--- a/clang/test/Driver/linux-ld.c
++++ b/clang/test/Driver/linux-ld.c
+@@ -299,7 +299,7 @@
+ // RUN: --sysroot=%S/Inputs/basic_linux_tree \
+ // RUN: | FileCheck --check-prefix=CHECK-CLANG-ANDROID-STATIC %s
+ // CHECK-CLANG-ANDROID-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+-// CHECK-CLANG-ANDROID-STATIC: "--start-group" "{{[^"]*}}{{/|\\\\}}libclang_rt.builtins-aarch64-android.a" "-l:libunwind.a" "-lc" "--end-group"
++// CHECK-CLANG-ANDROID-STATIC: "--start-group" "{{[^"]*}}{{/|\\\\}}libclang_rt.builtins-aarch64-android.a" "-L{{[^"]*}}{{/|\\\\}}llvm-unwind" "-l:libunwind.a" "-lc" "--end-group"
+ //
+ // RUN: %clang -### %s 2>&1 \
+ // RUN: --target=x86_64-unknown-linux -rtlib=platform --unwindlib=platform \
+--
+1.8.3.1
+
diff --git a/0001-clang-Fix-interaction-between-asm-labels-and-inline-.patch b/0001-clang-Fix-interaction-between-asm-labels-and-inline-.patch
new file mode 100644
index 0000000..948d164
--- /dev/null
+++ b/0001-clang-Fix-interaction-between-asm-labels-and-inline-.patch
@@ -0,0 +1,74 @@
+From bc9aa904bf9d24e7f39a2a866ff6b463858b6ccb Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Wed, 21 Sep 2022 16:08:45 +0200
+Subject: [PATCH] [clang] Fix interaction between asm labels and inline
+ builtins
+
+One must pick the same name as the one referenced in CodeGenFunction when
+generating .inline version of an inline builtin, otherwise they are not
+correctly replaced.
+
+Differential Revision: https://reviews.llvm.org/D134362
+---
+ clang/lib/CodeGen/CGExpr.cpp | 5 ++-
+ .../test/CodeGen/asm-label-inline-builtins.c | 32 +++++++++++++++++++
+ 2 files changed, 36 insertions(+), 1 deletion(-)
+ create mode 100644 clang/test/CodeGen/asm-label-inline-builtins.c
+
+diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
+index bf3dd812b9e8..a951d53423bf 100644
+--- a/clang/lib/CodeGen/CGExpr.cpp
++++ b/clang/lib/CodeGen/CGExpr.cpp
+@@ -5046,7 +5046,10 @@ static CGCallee EmitDirectCallee(CodeGenFunction &CGF, GlobalDecl GD) {
+ if (auto builtinID = FD->getBuiltinID()) {
+ std::string NoBuiltinFD = ("no-builtin-" + FD->getName()).str();
+ std::string NoBuiltins = "no-builtins";
+- std::string FDInlineName = (FD->getName() + ".inline").str();
++
++ auto *A = FD->getAttr<AsmLabelAttr>();
++ StringRef Ident = A ? A->getLabel() : FD->getName();
++ std::string FDInlineName = (Ident + ".inline").str();
+
+ bool IsPredefinedLibFunction =
+ CGF.getContext().BuiltinInfo.isPredefinedLibFunction(builtinID);
+diff --git a/clang/test/CodeGen/asm-label-inline-builtins.c b/clang/test/CodeGen/asm-label-inline-builtins.c
+new file mode 100644
+index 000000000000..ab9afc29411d
+--- /dev/null
++++ b/clang/test/CodeGen/asm-label-inline-builtins.c
+@@ -0,0 +1,32 @@
++// RUN: %clang_cc1 -triple x86_64 -S -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s
++//
++// Verifies that clang-generated *.inline carry the same name at call and callee
++// site, in spite of asm labels.
++
++typedef struct _IO_FILE FILE;
++extern FILE *stdout;
++extern int vprintf (const char *__restrict __format, __builtin_va_list __arg);
++extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
++ const char *__restrict __format, __builtin_va_list __ap);
++extern int __vprintf_chk (int __flag, const char *__restrict __format,
++ __builtin_va_list __ap);
++
++extern __typeof (vprintf) vprintf __asm ("__vprintfieee128");
++extern __typeof (__vfprintf_chk) __vfprintf_chk __asm ("__vfprintf_chkieee128");
++extern __typeof (__vprintf_chk) __vprintf_chk __asm ("__vprintf_chkieee128");
++
++extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
++vprintf (const char *__restrict __fmt, __builtin_va_list __ap)
++{
++ return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
++}
++
++void test(const char *fmt, __builtin_va_list ap) {
++ vprintf(fmt, ap);
++}
++
++// CHECK-LABEL: void @test(
++// CHECK: call i32 @__vprintfieee128.inline(
++//
++// CHECK-LABEL: internal i32 @__vprintfieee128.inline(
++// CHECK: call i32 @__vfprintf_chkieee128(
+--
+2.37.2
+
diff --git a/0001-clang-MinGW-Improve-extend-the-gcc-sysroot-detection.patch b/0001-clang-MinGW-Improve-extend-the-gcc-sysroot-detection.patch
new file mode 100644
index 0000000..7f54d32
--- /dev/null
+++ b/0001-clang-MinGW-Improve-extend-the-gcc-sysroot-detection.patch
@@ -0,0 +1,280 @@
+From efe3686d4a519b357cecb5aaf715f1e1b6f2d025 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin(a)martin.st>
+Date: Tue, 22 Nov 2022 14:38:54 +0200
+Subject: [PATCH 1/2] [clang] [MinGW] Improve/extend the gcc/sysroot detection
+ logic
+
+There are three functions that try to detect the right implicit
+sysroot and libgcc directory setup to use
+- One which looks for mingw sysroots located in
+ <clangbin>/../<sysrootname>
+- One which looks for a mingw-targeting gcc executables in the PATH
+- One which looks in the <gccroot>/lib/gcc directory to find the
+ right one to use, and the right specific triple used for arch
+ specific directories in the gcc/libstdc++ install
+
+These have mostly tried to look for executables named
+"<arch>-w64-mingw32-gcc" or "mingw32-gcc" or subdirectories
+named "<arch>-w64-mingw32" or "mingw32".
+
+In the case of findClangRelativeSysroot, it also has looked
+for directories with the name of the actual triple. This
+was added in deff7536278d355977171726124f83aa4bb95419,
+with the intent of looking for a directory matching exactly
+the user provided literal triple - however the triple here
+is the normalized one, not the one provided by the user on
+the command line.
+
+Improve and unify this logic somewhat:
+- Always first look for things based on the literal triple
+ provided by the user.
+- Secondly look for things based on the normalized triple
+ (which usually ends up as e.g. x86_64-w64-windows-gnu),
+ accessed via the Triple which is passed to the constructor
+- Then look for the common triple form <arch>-w64-mingw32
+
+The literal triple provided by the user is available via
+Driver::getTargetTriple(), but computeTargetTriple() may
+change e.g. the architecture of it, so we need to
+reapply the effective architecture on the literal triple
+spelling from Driver::getTargetTriple().
+
+Do this consistently for all of findGcc, findClangRelativeSysroot
+and findGccLibDir (while keeping the existing plain "mingw32"
+cases in findGcc and findGccLibDir too).
+
+Fedora 37 started shipping mingw sysroots targeting UCRT,
+in addition to the traditional msvcrt.dll, and these use
+triples in the form <arch>-w64-mingw32ucrt - see
+https://fedoraproject.org/wiki/Changes/F37MingwUCRT.
+
+Thus, in addition to the existing default tested triples,
+try looking for triples in the form <arch>-w64-mingw32ucrt,
+to automatically find the UCRT sysroots on Fedora 37.
+By explicitly setting a specific target on the Clang command
+line, the user can be more explicit with which flavour is
+to be preferred.
+
+This should fix the main issue in
+https://github.com/llvm/llvm-project/issues/59001.
+
+Differential Revision: https://reviews.llvm.org/D138692
+---
+ clang/lib/Driver/ToolChains/MinGW.cpp | 68 ++++++++++++++-----
+ clang/lib/Driver/ToolChains/MinGW.h | 2 +-
+ .../12.2.1/include-fixed/.keep | 0
+ .../sys-root/mingw/include/.keep | 0
+ .../sys-root/mingw/include/c++/backward/.keep | 0
+ .../include/c++/x86_64-w64-mingw32ucrt/.keep | 0
+ clang/test/Driver/mingw-sysroot.cpp | 13 ++++
+ clang/test/Driver/mingw.cpp | 4 ++
+ 8 files changed, 68 insertions(+), 19 deletions(-)
+ create mode 100644 clang/test/Driver/Inputs/mingw_fedora_tree/usr/lib/gcc/x86_64-w64-mingw32ucrt/12.2.1/include-fixed/.keep
+ create mode 100644 clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/.keep
+ create mode 100644 clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/backward/.keep
+ create mode 100644 clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt/.keep
+
+diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp b/clang/lib/Driver/ToolChains/MinGW.cpp
+index ae7c4c56bf9e..0ebacea6e87f 100644
+--- a/clang/lib/Driver/ToolChains/MinGW.cpp
++++ b/clang/lib/Driver/ToolChains/MinGW.cpp
+@@ -359,13 +359,26 @@ static bool findGccVersion(StringRef LibDir, std::string &GccLibDir,
+ return Ver.size();
+ }
+
+-void toolchains::MinGW::findGccLibDir() {
+- llvm::SmallVector<llvm::SmallString<32>, 2> SubdirNames;
++static llvm::Triple getLiteralTriple(const Driver &D, const llvm::Triple &T) {
++ llvm::Triple LiteralTriple(D.getTargetTriple());
++ // The arch portion of the triple may be overridden by -m32/-m64.
++ LiteralTriple.setArchName(T.getArchName());
++ return LiteralTriple;
++}
++
++void toolchains::MinGW::findGccLibDir(const llvm::Triple &LiteralTriple) {
++ llvm::SmallVector<llvm::SmallString<32>, 5> SubdirNames;
++ SubdirNames.emplace_back(LiteralTriple.str());
++ SubdirNames.emplace_back(getTriple().str());
+ SubdirNames.emplace_back(getTriple().getArchName());
+- SubdirNames[0] += "-w64-mingw32";
++ SubdirNames.back() += "-w64-mingw32";
++ SubdirNames.emplace_back(getTriple().getArchName());
++ SubdirNames.back() += "-w64-mingw32ucrt";
+ SubdirNames.emplace_back("mingw32");
+- if (SubdirName.empty())
+- SubdirName = std::string(SubdirNames[0].str());
++ if (SubdirName.empty()) {
++ SubdirName = getTriple().getArchName();
++ SubdirName += "-w64-mingw32";
++ }
+ // lib: Arch Linux, Ubuntu, Windows
+ // lib64: openSUSE Linux
+ for (StringRef CandidateLib : {"lib", "lib64"}) {
+@@ -380,10 +393,17 @@ void toolchains::MinGW::findGccLibDir() {
+ }
+ }
+
+-static llvm::ErrorOr<std::string> findGcc(const llvm::Triple &T) {
+- llvm::SmallVector<llvm::SmallString<32>, 2> Gccs;
++static llvm::ErrorOr<std::string> findGcc(const llvm::Triple &LiteralTriple,
++ const llvm::Triple &T) {
++ llvm::SmallVector<llvm::SmallString<32>, 5> Gccs;
++ Gccs.emplace_back(LiteralTriple.str());
++ Gccs.back() += "-gcc";
++ Gccs.emplace_back(T.str());
++ Gccs.back() += "-gcc";
+ Gccs.emplace_back(T.getArchName());
+- Gccs[0] += "-w64-mingw32-gcc";
++ Gccs.back() += "-w64-mingw32-gcc";
++ Gccs.emplace_back(T.getArchName());
++ Gccs.back() += "-w64-mingw32ucrt-gcc";
+ Gccs.emplace_back("mingw32-gcc");
+ // Please do not add "gcc" here
+ for (StringRef CandidateGcc : Gccs)
+@@ -393,12 +413,15 @@ static llvm::ErrorOr<std::string> findGcc(const llvm::Triple &T) {
+ }
+
+ static llvm::ErrorOr<std::string>
+-findClangRelativeSysroot(const Driver &D, const llvm::Triple &T,
+- std::string &SubdirName) {
+- llvm::SmallVector<llvm::SmallString<32>, 2> Subdirs;
++findClangRelativeSysroot(const Driver &D, const llvm::Triple &LiteralTriple,
++ const llvm::Triple &T, std::string &SubdirName) {
++ llvm::SmallVector<llvm::SmallString<32>, 4> Subdirs;
++ Subdirs.emplace_back(LiteralTriple.str());
+ Subdirs.emplace_back(T.str());
+ Subdirs.emplace_back(T.getArchName());
+- Subdirs[1] += "-w64-mingw32";
++ Subdirs.back() += "-w64-mingw32";
++ Subdirs.emplace_back(T.getArchName());
++ Subdirs.back() += "-w64-mingw32ucrt";
+ StringRef ClangRoot = llvm::sys::path::parent_path(D.getInstalledDir());
+ StringRef Sep = llvm::sys::path::get_separator();
+ for (StringRef CandidateSubdir : Subdirs) {
+@@ -418,14 +441,16 @@ toolchains::MinGW::MinGW(const Driver &D, const llvm::Triple &Triple,
+
+ // The sequence for detecting a sysroot here should be kept in sync with
+ // the testTriple function below.
++ llvm::Triple LiteralTriple = getLiteralTriple(D, getTriple());
+ if (getDriver().SysRoot.size())
+ Base = getDriver().SysRoot;
+ // Look for <clang-bin>/../<triplet>; if found, use <clang-bin>/.. as the
+ // base as it could still be a base for a gcc setup with libgcc.
+- else if (llvm::ErrorOr<std::string> TargetSubdir =
+- findClangRelativeSysroot(getDriver(), getTriple(), SubdirName))
++ else if (llvm::ErrorOr<std::string> TargetSubdir = findClangRelativeSysroot(
++ getDriver(), LiteralTriple, getTriple(), SubdirName))
+ Base = std::string(llvm::sys::path::parent_path(TargetSubdir.get()));
+- else if (llvm::ErrorOr<std::string> GPPName = findGcc(getTriple()))
++ else if (llvm::ErrorOr<std::string> GPPName =
++ findGcc(LiteralTriple, getTriple()))
+ Base = std::string(llvm::sys::path::parent_path(
+ llvm::sys::path::parent_path(GPPName.get())));
+ else
+@@ -433,7 +458,7 @@ toolchains::MinGW::MinGW(const Driver &D, const llvm::Triple &Triple,
+ llvm::sys::path::parent_path(getDriver().getInstalledDir()));
+
+ Base += llvm::sys::path::get_separator();
+- findGccLibDir();
++ findGccLibDir(LiteralTriple);
+ // GccLibDir must precede Base/lib so that the
+ // correct crtbegin.o ,cetend.o would be found.
+ getFilePaths().push_back(GccLibDir);
+@@ -576,6 +601,12 @@ void toolchains::MinGW::printVerboseInfo(raw_ostream &OS) const {
+ // /usr/include/c++/4.8/backward
+ // /usr/x86_64-w64-mingw32/include
+
++// Fedora
++// /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt
++// /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/backward
++// /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include
++// /usr/lib/gcc/x86_64-w64-mingw32ucrt/12.2.1/include-fixed
++
+ void toolchains::MinGW::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
+ if (DriverArgs.hasArg(options::OPT_nostdinc))
+@@ -667,10 +698,11 @@ static bool testTriple(const Driver &D, const llvm::Triple &Triple,
+ std::string SubdirName;
+ if (D.SysRoot.size())
+ return true;
++ llvm::Triple LiteralTriple = getLiteralTriple(D, Triple);
+ if (llvm::ErrorOr<std::string> TargetSubdir =
+- findClangRelativeSysroot(D, Triple, SubdirName))
++ findClangRelativeSysroot(D, LiteralTriple, Triple, SubdirName))
+ return true;
+- if (llvm::ErrorOr<std::string> GPPName = findGcc(Triple))
++ if (llvm::ErrorOr<std::string> GPPName = findGcc(LiteralTriple, Triple))
+ return true;
+ // If we neither found a colocated sysroot or a matching gcc executable,
+ // conclude that we can't know if this is the correct spelling of the triple.
+diff --git a/clang/lib/Driver/ToolChains/MinGW.h b/clang/lib/Driver/ToolChains/MinGW.h
+index f15f99dc8a8c..bc17d273e776 100644
+--- a/clang/lib/Driver/ToolChains/MinGW.h
++++ b/clang/lib/Driver/ToolChains/MinGW.h
+@@ -108,7 +108,7 @@ private:
+ std::string SubdirName;
+ mutable std::unique_ptr<tools::gcc::Preprocessor> Preprocessor;
+ mutable std::unique_ptr<tools::gcc::Compiler> Compiler;
+- void findGccLibDir();
++ void findGccLibDir(const llvm::Triple &LiteralTriple);
+
+ bool NativeLLVMSupport;
+ };
+diff --git a/clang/test/Driver/Inputs/mingw_fedora_tree/usr/lib/gcc/x86_64-w64-mingw32ucrt/12.2.1/include-fixed/.keep b/clang/test/Driver/Inputs/mingw_fedora_tree/usr/lib/gcc/x86_64-w64-mingw32ucrt/12.2.1/include-fixed/.keep
+new file mode 100644
+index 000000000000..e69de29bb2d1
+diff --git a/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/.keep b/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/.keep
+new file mode 100644
+index 000000000000..e69de29bb2d1
+diff --git a/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/backward/.keep b/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/backward/.keep
+new file mode 100644
+index 000000000000..e69de29bb2d1
+diff --git a/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt/.keep b/clang/test/Driver/Inputs/mingw_fedora_tree/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt/.keep
+new file mode 100644
+index 000000000000..e69de29bb2d1
+diff --git a/clang/test/Driver/mingw-sysroot.cpp b/clang/test/Driver/mingw-sysroot.cpp
+index 1cb51b3aea2d..985be9e5f2ac 100644
+--- a/clang/test/Driver/mingw-sysroot.cpp
++++ b/clang/test/Driver/mingw-sysroot.cpp
+@@ -14,6 +14,11 @@
+ // RUN: ln -s %S/Inputs/mingw_ubuntu_posix_tree/usr/x86_64-w64-mingw32 %T/testroot-clang/x86_64-w64-mingw32
+ // RUN: ln -s %S/Inputs/mingw_arch_tree/usr/i686-w64-mingw32 %T/testroot-clang/i686-w64-mingw32
+
++// RUN: rm -rf %T/testroot-custom-triple
++// RUN: mkdir -p %T/testroot-custom-triple/bin
++// RUN: ln -s %clang %T/testroot-custom-triple/bin/x86_64-w64-mingw32foo-clang
++// RUN: ln -s %clang %T/testroot-custom-triple/bin/clang
++// RUN: ln -s %S/Inputs/mingw_ubuntu_posix_tree/usr/x86_64-w64-mingw32 %T/testroot-custom-triple/x86_64-w64-mingw32foo
+
+ // If we find a gcc in the path with the right triplet prefix, pick that as
+ // sysroot:
+@@ -51,3 +56,11 @@
+
+ // RUN: env "PATH=%T/testroot-gcc/bin:%PATH%" %T/testroot-clang/bin/x86_64-w64-mingw32-clang --target=x86_64-w64-mingw32 -m32 -rtlib=compiler-rt -stdlib=libstdc++ --sysroot="" -c -### %s 2>&1 | FileCheck -check-prefix=CHECK_TESTROOT_CLANG_I686 %s
+ // CHECK_TESTROOT_CLANG_I686: "{{[^"]+}}/testroot-clang{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
++
++
++// If the user calls clang with a custom literal triple, make sure this maps
++// to sysroots with the matching spelling.
++
++// RUN: %T/testroot-custom-triple/bin/x86_64-w64-mingw32foo-clang -rtlib=compiler-rt -stdlib=libstdc++ --sysroot="" -c -### %s 2>&1 | FileCheck -check-prefix=CHECK_TESTROOT_CUSTOM_TRIPLE %s
++// RUN: %T/testroot-custom-triple/bin/clang --target=x86_64-w64-mingw32foo -rtlib=compiler-rt -stdlib=libstdc++ --sysroot="" -c -### %s 2>&1 | FileCheck -check-prefix=CHECK_TESTROOT_CUSTOM_TRIPLE %s
++// CHECK_TESTROOT_CUSTOM_TRIPLE: "{{[^"]+}}/testroot-custom-triple{{/|\\\\}}x86_64-w64-mingw32foo{{/|\\\\}}include"
+diff --git a/clang/test/Driver/mingw.cpp b/clang/test/Driver/mingw.cpp
+index b37503e475d8..bde952fb3565 100644
+--- a/clang/test/Driver/mingw.cpp
++++ b/clang/test/Driver/mingw.cpp
+@@ -39,6 +39,10 @@
+ // CHECK_MINGW_OPENSUSE_TREE: "[[BASE]]/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}x86_64-w64-mingw32/sys-root/mingw/include"
+
+
++// RUN: %clang -target x86_64-pc-windows-gnu -rtlib=platform -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_fedora_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_FEDORA_TREE %s
++// CHECK_MINGW_FEDORA_TREE: "[[BASE:[^"]+]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include"
++
++
+ // RUN: %clang -target i686-pc-windows-gnu -rtlib=platform -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_arch_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ARCH_TREE %s
+ // CHECK_MINGW_ARCH_TREE: "[[BASE:[^"]+]]/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0"
+ // CHECK_MINGW_ARCH_TREE: "[[BASE]]/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}i686-w64-mingw32"
+--
+2.38.1
+
diff --git a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
new file mode 100644
index 0000000..8f30ef4
--- /dev/null
+++ b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
@@ -0,0 +1,82 @@
+From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Fri, 1 Jul 2022 21:24:17 -0700
+Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional
+
+This fixes clang + clang-tools-extra standalone build after
+36892727e4f19a60778e371d78f8fb09d8122c85.
+---
+ clang-tools-extra/test/CMakeLists.txt | 10 +++++++++-
+ clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp | 2 +-
+ clang-tools-extra/test/lit.cfg.py | 3 +++
+ clang-tools-extra/test/lit.site.cfg.py.in | 1 +
+ 4 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/clang-tools-extra/test/CMakeLists.txt b/clang-tools-extra/test/CMakeLists.txt
+index f4c529ee8af2..1cfb4dd529aa 100644
+--- a/clang-tools-extra/test/CMakeLists.txt
++++ b/clang-tools-extra/test/CMakeLists.txt
+@@ -7,10 +7,15 @@
+ set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
+ set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
+
++if (TARGET LLVMHello)
++ set (LLVM_HAS_LLVM_HELLO 1)
++endif()
++
+ llvm_canonicalize_cmake_booleans(
+ CLANG_TIDY_ENABLE_STATIC_ANALYZER
+ CLANG_PLUGIN_SUPPORT
+ LLVM_INSTALL_TOOLCHAIN_ONLY
++ LLVM_HAS_LLVM_HELLO
+ )
+
+ configure_lit_site_cfg(
+@@ -86,7 +91,10 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ endif()
+
+ if(TARGET CTTestTidyModule)
+- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ if (TARGET LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ endif()
+ target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}")
+ if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN))
+ set(LLVM_LINK_COMPONENTS
+diff --git a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
+index c66a94f458cf..b4e7a5d691e5 100644
+--- a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
++++ b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
+@@ -1,4 +1,4 @@
+-// REQUIRES: plugins
++// REQUIRES: plugins, llvm-hello
+ // RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s
+ // CHECK-LIST: Enabled checks:
+ // CHECK-LIST-NEXT: mytest1
+diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py
+index 9b99bfd93440..3fca9f25fb48 100644
+--- a/clang-tools-extra/test/lit.cfg.py
++++ b/clang-tools-extra/test/lit.cfg.py
+@@ -59,3 +59,6 @@ config.substitutions.append(
+ # Plugins (loadable modules)
+ if config.has_plugins and config.llvm_plugin_ext:
+ config.available_features.add('plugins')
++
++if config.has_llvm_hello:
++ config.available_features.add("llvm-hello")
+diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in
+index 4eb830a1baf1..6e5559348454 100644
+--- a/clang-tools-extra/test/lit.site.cfg.py.in
++++ b/clang-tools-extra/test/lit.site.cfg.py.in
+@@ -11,6 +11,7 @@ config.target_triple = "@LLVM_TARGET_TRIPLE@"
+ config.host_triple = "@LLVM_HOST_TRIPLE@"
+ config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
+ config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
++config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@
+ # Support substitution of the tools and libs dirs with user parameters. This is
+ # used when we can't determine the tool dir at configuration time.
+ config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
+--
+2.27.0
+
diff --git a/0002-clang-MinGW-Improve-detection-of-libstdc-headers-on-.patch b/0002-clang-MinGW-Improve-detection-of-libstdc-headers-on-.patch
new file mode 100644
index 0000000..7376d7f
--- /dev/null
+++ b/0002-clang-MinGW-Improve-detection-of-libstdc-headers-on-.patch
@@ -0,0 +1,139 @@
+From d3b79c2950d590cb272648f1c6a9dd7646f57beb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin(a)martin.st>
+Date: Tue, 22 Nov 2022 14:39:39 +0200
+Subject: [PATCH 2/2] [clang] [MinGW] Improve detection of libstdc++ headers on
+ Fedora
+
+There's some variation in where different toolchain distributions
+(and linux distributions) package the mingw sysroots - this is
+so far handled by adding specific known subdirectory paths
+to the include and lib directory lists.
+
+There are multiple degrees of combinatorics involved here though;
+the distros may use different locations such as
+/usr/x86_64-w64-mingw32/include or
+/usr/x86_64-w64-mingw32/sys-root/mingw/include.
+
+So far, this setup has been treated as base=/usr, subdir=x86_64-w64-mingw32,
+and the driver tries to add further subdirectories such as
+<base>/<subdir>/include, <base>/<subdir>/sys-root/mingw/include.
+
+When it comes to libstdc++ (and libc++), each of these come with
+a large number of potential subdirectories. Instead of further
+exploding the combinatorics another step by adding all combinations
+of all paths, check whether <base>/<subdir>/sys-root/mingw/include
+exists, and if it does, append that subpath into the subdir variable.
+
+This allows finding libstdc++ headers in e.g.
+/usr/x86_64-w64-mingw32/sys-root/mingw/include/c++/x86_64-w64-mingw32
+on Fedora.
+
+The same logic (where everything belonging to this target fits
+under one expanded <subdir> path, with just /include and /lib
+under it) doesn't seem to apply on Gentoo, where the includes
+are found in <base>/<subdir>/usr/include while the libraries
+are in <base>/<subdir>/mingw/lib (see
+8e218026f8d5eabfdef9141ae5e26aa91d1933e6). But apparently
+the libstdc++ headers aren't installed under
+<base>/<subdir>/usr/include, so that path hierarchy quirk doesn't
+need to be taken into account in AddClangCXXStdlibIncludeArgs.
+
+Differential Revision: https://reviews.llvm.org/D138693
+---
+ clang/lib/Driver/ToolChains/MinGW.cpp | 19 +++++++++----------
+ clang/lib/Driver/ToolChains/MinGW.h | 1 +
+ clang/test/Driver/mingw.cpp | 5 ++++-
+ 3 files changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp b/clang/lib/Driver/ToolChains/MinGW.cpp
+index 0ebacea6e87f..2a9bf4b18f19 100644
+--- a/clang/lib/Driver/ToolChains/MinGW.cpp
++++ b/clang/lib/Driver/ToolChains/MinGW.cpp
+@@ -376,7 +376,7 @@ void toolchains::MinGW::findGccLibDir(const llvm::Triple &LiteralTriple) {
+ SubdirNames.back() += "-w64-mingw32ucrt";
+ SubdirNames.emplace_back("mingw32");
+ if (SubdirName.empty()) {
+- SubdirName = getTriple().getArchName();
++ SubdirName = getTriple().getArchName().str();
+ SubdirName += "-w64-mingw32";
+ }
+ // lib: Arch Linux, Ubuntu, Windows
+@@ -459,9 +459,16 @@ toolchains::MinGW::MinGW(const Driver &D, const llvm::Triple &Triple,
+
+ Base += llvm::sys::path::get_separator();
+ findGccLibDir(LiteralTriple);
++ TripleDirName = SubdirName;
+ // GccLibDir must precede Base/lib so that the
+ // correct crtbegin.o ,cetend.o would be found.
+ getFilePaths().push_back(GccLibDir);
++
++ // openSUSE/Fedora
++ std::string CandidateSubdir = SubdirName + "/sys-root/mingw";
++ if (getDriver().getVFS().exists(Base + CandidateSubdir))
++ SubdirName = CandidateSubdir;
++
+ getFilePaths().push_back(
+ (Base + SubdirName + llvm::sys::path::get_separator() + "lib").str());
+
+@@ -470,8 +477,6 @@ toolchains::MinGW::MinGW(const Driver &D, const llvm::Triple &Triple,
+ (Base + SubdirName + llvm::sys::path::get_separator() + "mingw/lib").str());
+
+ getFilePaths().push_back(Base + "lib");
+- // openSUSE
+- getFilePaths().push_back(Base + SubdirName + "/sys-root/mingw/lib");
+
+ NativeLLVMSupport =
+ Args.getLastArgValue(options::OPT_fuse_ld_EQ, CLANG_DEFAULT_LINKER)
+@@ -621,12 +626,6 @@ void toolchains::MinGW::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+ return;
+
+- if (GetRuntimeLibType(DriverArgs) == ToolChain::RLT_Libgcc) {
+- // openSUSE
+- addSystemInclude(DriverArgs, CC1Args,
+- Base + SubdirName + "/sys-root/mingw/include");
+- }
+-
+ addSystemInclude(DriverArgs, CC1Args,
+ Base + SubdirName + llvm::sys::path::get_separator() +
+ "include");
+@@ -684,7 +683,7 @@ void toolchains::MinGW::AddClangCXXStdlibIncludeArgs(
+ for (auto &CppIncludeBase : CppIncludeBases) {
+ addSystemInclude(DriverArgs, CC1Args, CppIncludeBase);
+ CppIncludeBase += Slash;
+- addSystemInclude(DriverArgs, CC1Args, CppIncludeBase + SubdirName);
++ addSystemInclude(DriverArgs, CC1Args, CppIncludeBase + TripleDirName);
+ addSystemInclude(DriverArgs, CC1Args, CppIncludeBase + "backward");
+ }
+ break;
+diff --git a/clang/lib/Driver/ToolChains/MinGW.h b/clang/lib/Driver/ToolChains/MinGW.h
+index bc17d273e776..ef9bfb29e175 100644
+--- a/clang/lib/Driver/ToolChains/MinGW.h
++++ b/clang/lib/Driver/ToolChains/MinGW.h
+@@ -106,6 +106,7 @@ private:
+ clang::driver::toolchains::Generic_GCC::GCCVersion GccVer;
+ std::string Ver;
+ std::string SubdirName;
++ std::string TripleDirName;
+ mutable std::unique_ptr<tools::gcc::Preprocessor> Preprocessor;
+ mutable std::unique_ptr<tools::gcc::Compiler> Compiler;
+ void findGccLibDir(const llvm::Triple &LiteralTriple);
+diff --git a/clang/test/Driver/mingw.cpp b/clang/test/Driver/mingw.cpp
+index bde952fb3565..46ea55b9500d 100644
+--- a/clang/test/Driver/mingw.cpp
++++ b/clang/test/Driver/mingw.cpp
+@@ -40,7 +40,10 @@
+
+
+ // RUN: %clang -target x86_64-pc-windows-gnu -rtlib=platform -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_fedora_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_FEDORA_TREE %s
+-// CHECK_MINGW_FEDORA_TREE: "[[BASE:[^"]+]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include"
++// CHECK_MINGW_FEDORA_TREE: "[[BASE:[^"]+]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++"
++// CHECK_MINGW_FEDORA_TREE: "[[BASE]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt"
++// CHECK_MINGW_FEDORA_TREE: "[[BASE]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/backward"
++// CHECK_MINGW_FEDORA_TREE: "[[BASE]]/Inputs/mingw_fedora_tree/usr{{/|\\\\}}x86_64-w64-mingw32ucrt/sys-root/mingw/include"
+
+
+ // RUN: %clang -target i686-pc-windows-gnu -rtlib=platform -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_arch_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ARCH_TREE %s
+--
+2.38.1
+
diff --git a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch b/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
new file mode 100644
index 0000000..e6671f9
--- /dev/null
+++ b/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
@@ -0,0 +1,29 @@
+From c87abee7356b8fde81512ffceadd520776c465d2 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Thu, 25 Feb 2021 14:09:29 +0100
+Subject: [PATCH] [PATCH][clang] Make -funwind-tables the default on all archs
+
+---
+ clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp
+b/clang/lib/Driver/ToolChains/Gnu.cpp
+index d0808d061c82..de9c9743cd38 100644
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
+@@ -2701,6 +2701,11 @@ bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
+ case llvm::Triple::ppc64le:
+ case llvm::Triple::x86:
+ case llvm::Triple::x86_64:
++
++ // Enable -funwind-tables on all architectures supported by Fedora:
++ // rhbz#1655546
++ case llvm::Triple::systemz:
++ case llvm::Triple::arm:
+ return true;
+ default:
+ return false;
+--
+2.27.0
+
diff --git a/0003-PATCH-clang-Don-t-install-static-libraries.patch b/0003-PATCH-clang-Don-t-install-static-libraries.patch
new file mode 100644
index 0000000..bc8fa51
--- /dev/null
+++ b/0003-PATCH-clang-Don-t-install-static-libraries.patch
@@ -0,0 +1,25 @@
+From 88704fc2eabb9dd19a9c3eb81a9b3dc37d95651c Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Fri, 31 Jan 2020 11:04:57 -0800
+Subject: [PATCH][clang] Don't install static libraries
+
+---
+ clang/cmake/modules/AddClang.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
+index 5752f4277444..0f52822d91f0 100644
+--- a/clang/cmake/modules/AddClang.cmake
++++ b/clang/cmake/modules/AddClang.cmake
+@@ -113,7 +113,7 @@ macro(add_clang_library name)
+ if(TARGET ${lib})
+ target_link_libraries(${lib} INTERFACE ${LLVM_COMMON_LIBS})
+
+- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
++ if (ARG_SHARED AND (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN))
+ get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
+ install(TARGETS ${lib}
+ COMPONENT ${lib}
+--
+2.30.2
+
diff --git a/0010-PATCH-clang-Produce-DWARF4-by-default.patch b/0010-PATCH-clang-Produce-DWARF4-by-default.patch
new file mode 100644
index 0000000..2d698c5
--- /dev/null
+++ b/0010-PATCH-clang-Produce-DWARF4-by-default.patch
@@ -0,0 +1,100 @@
+From 1f68d73910ddee1beaf3582480b8a9738c941a43 Mon Sep 17 00:00:00 2001
+From: Konrad Kleine <kkleine(a)redhat.com>
+Date: Thu, 24 Mar 2022 09:44:21 +0100
+Subject: [PATCH] Produce DWARF4 by default
+
+Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream:
+
+https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8f5b4?diff=unified
+---
+ clang/include/clang/Driver/ToolChain.h | 2 +-
+ clang/test/CodeGen/dwarf-version.c | 4 ++--
+ clang/test/Driver/cl-options.c | 2 +-
+ clang/test/Driver/clang-g-opts.c | 2 +-
+ clang/test/Driver/ve-toolchain.c | 2 +-
+ clang/test/Driver/ve-toolchain.cpp | 2 +-
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
+index f20ab164531b..53c86ee82936 100644
+--- a/clang/include/clang/Driver/ToolChain.h
++++ b/clang/include/clang/Driver/ToolChain.h
+@@ -535,7 +535,7 @@ public:
+
+ // Return the DWARF version to emit, in the absence of arguments
+ // to the contrary.
+- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
++ virtual unsigned GetDefaultDwarfVersion() const { return 4; }
+
+ // Some toolchains may have different restrictions on the DWARF version and
+ // may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host
+diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c
+index 0a6fa4768026..96f01749d0d8 100644
+--- a/clang/test/CodeGen/dwarf-version.c
++++ b/clang/test/CodeGen/dwarf-version.c
+@@ -2,8 +2,8 @@
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-3 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER3
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-4 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-5 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
+-// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
+-// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
++// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
++// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
+
+ // The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
+ // environment variable which indirecty overrides the version in the target
+diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
+index a2e350a0a835..01889ba0bf9b 100644
+--- a/clang/test/Driver/cl-options.c
++++ b/clang/test/Driver/cl-options.c
+@@ -570,7 +570,7 @@
+ // RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
+ // Z7_gdwarf: "-gcodeview"
+ // Z7_gdwarf: "-debug-info-kind=constructor"
+-// Z7_gdwarf: "-dwarf-version=
++// Z7_gdwarf: "-dwarf-version=4
+
+ // RUN: %clang_cl -fmsc-version=1800 -TP -### -- %s 2>&1 | FileCheck -check-prefix=CXX11 %s
+ // CXX11: -std=c++11
+diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
+index d982b1070cae..bb129e75769c 100644
+--- a/clang/test/Driver/clang-g-opts.c
++++ b/clang/test/Driver/clang-g-opts.c
+@@ -32,7 +32,7 @@
+
+ // CHECK-WITHOUT-G-NOT: -debug-info-kind
+ // CHECK-WITH-G: "-debug-info-kind=constructor"
+-// CHECK-WITH-G: "-dwarf-version=5"
++// CHECK-WITH-G: "-dwarf-version=4"
+ // CHECK-WITH-G-DWARF2: "-dwarf-version=2"
+
+ // CHECK-WITH-G-STANDALONE: "-debug-info-kind=standalone"
+diff --git a/clang/test/Driver/ve-toolchain.c b/clang/test/Driver/ve-toolchain.c
+index 32e25769b6da..b8a2852daba8 100644
+--- a/clang/test/Driver/ve-toolchain.c
++++ b/clang/test/Driver/ve-toolchain.c
+@@ -6,7 +6,7 @@
+ /// Checking dwarf-version
+
+ // RUN: %clang -### -g --target=ve %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
+-// DWARF_VER: "-dwarf-version=5"
++// DWARF_VER: "-dwarf-version=4"
+
+ ///-----------------------------------------------------------------------------
+ /// Checking include-path
+diff --git a/clang/test/Driver/ve-toolchain.cpp b/clang/test/Driver/ve-toolchain.cpp
+index 5a33d5eceb61..cedf895b36dc 100644
+--- a/clang/test/Driver/ve-toolchain.cpp
++++ b/clang/test/Driver/ve-toolchain.cpp
+@@ -7,7 +7,7 @@
+
+ // RUN: %clangxx -### -g --target=ve-unknown-linux-gnu \
+ // RUN: %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
+-// DWARF_VER: "-dwarf-version=5"
++// DWARF_VER: "-dwarf-version=4"
+
+ ///-----------------------------------------------------------------------------
+ /// Checking include-path
+--
+2.37.1
+
diff --git a/clang.rpmlintrc b/clang.rpmlintrc
new file mode 100644
index 0000000..8781b63
--- /dev/null
+++ b/clang.rpmlintrc
@@ -0,0 +1,6 @@
+# clang needs libstdc++-devel installed in order to compile c++ programs.
+addFilter("E: devel-dependency libstdc\+\+-devel")
+addFilter("E: explicit-lib-dependency libstdc\+\+-devel")
+# clang installs libear to /usr/lib on all arches, so we have to use
+# a hard-coded /usr/lib path in order to move it to the python3 sitelib.
+addFilter("E: hardcoded-library-path in %{_prefix}/lib/{libear")
diff --git a/clang15.spec b/clang15.spec
new file mode 100644
index 0000000..986d078
--- /dev/null
+++ b/clang15.spec
@@ -0,0 +1,1288 @@
+%global toolchain clang
+
+# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
+# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
+%undefine _include_frame_pointers
+
+%bcond_without compat_build
+%bcond_without check
+
+%global maj_ver 15
+%global min_ver 0
+%global patch_ver 7
+#global rc_ver 3
+%global clang_version %{maj_ver}.%{min_ver}.%{patch_ver}
+
+%if %{with compat_build}
+%global pkg_name clang%{maj_ver}
+# Install clang to same prefix as llvm, so that apps that use llvm-config
+# will also be able to find clang libs.
+%global install_prefix %{_libdir}/llvm%{maj_ver}
+%global install_bindir %{install_prefix}/bin
+%global install_includedir %{install_prefix}/include
+%global install_libdir %{install_prefix}/lib
+
+%global pkg_bindir %{install_bindir}
+%global pkg_includedir %{install_includedir}
+%global pkg_libdir %{install_libdir}
+%else
+%global pkg_name clang
+%global install_prefix /usr
+%global pkg_libdir %{_libdir}
+%endif
+
+%ifarch ppc64le
+# Too many threads on ppc64 systems causes OOM errors.
+%global _smp_mflags -j8
+%endif
+
+%global clang_srcdir clang-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
+%global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
+
+Name: %pkg_name
+Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
+Release: 3%{?dist}
+Summary: A C language family front-end for LLVM
+
+License: Apache-2.0 WITH LLVM-exception OR NCSA
+URL: http://llvm.org
+Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+%if %{without compat_build}
+Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+%endif
+Source4: release-keys.asc
+%if %{without compat_build}
+Source5: macros.%{name}
+%endif
+
+# Patches for clang
+Patch0: 0001-PATCH-clang-Reorganize-gtest-integration.patch
+Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
+Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch
+Patch3: 0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
+Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch
+Patch6: 0001-Take-into-account-Fedora-Specific-install-dir-for-li.patch
+
+# TODO: Can be dropped in LLVM 16: https://reviews.llvm.org/D133316
+Patch7: 0001-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch
+
+# TODO: Can be dropped in LLVM 16: https://reviews.llvm.org/D134362
+Patch8: 0001-clang-Fix-interaction-between-asm-labels-and-inline-.patch
+
+# TODO: Can be dropped in LLVM 16.
+Patch9: 0001-clang-MinGW-Improve-extend-the-gcc-sysroot-detection.patch
+Patch10: 0002-clang-MinGW-Improve-detection-of-libstdc-headers-on-.patch
+
+%if %{with compat_build}
+# Ensure that clang looks for LLVMgold.so in the directory the compat build
+# uses.
+Patch100: fix-lto-path.patch
+%endif
+
+%if %{without compat_build}
+# Patches for clang-tools-extra
+# See https://reviews.llvm.org/D120301
+Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
+%endif
+
+BuildRequires: clang
+BuildRequires: cmake
+BuildRequires: ninja-build
+%if %{with compat_build}
+BuildRequires: llvm%{maj_ver}-devel = %{version}
+BuildRequires: llvm%{maj_ver}-static = %{version}
+%else
+BuildRequires: llvm-devel = %{version}
+BuildRequires: llvm-test = %{version}
+# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
+# is not included in libLLVM.so.
+BuildRequires: llvm-static = %{version}
+BuildRequires: llvm-googletest = %{version}
+%endif
+
+BuildRequires: libxml2-devel
+BuildRequires: perl-generators
+BuildRequires: ncurses-devel
+# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
+# should BuildRequires: emacs if it packages emacs integration files.
+BuildRequires: emacs
+
+# The testsuite uses /usr/bin/lit which is part of the python3-lit package.
+BuildRequires: python3-lit
+
+BuildRequires: python3-sphinx
+BuildRequires: python3-recommonmark
+BuildRequires: libatomic
+
+# We need python3-devel for %%py3_shebang_fix
+BuildRequires: python3-devel
+
+%if %{without compat_build}
+# For reproducible pyc file generation
+# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix...
+BuildRequires: /usr/bin/marshalparser
+%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib}
+%endif
+
+# Needed for %%multilib_fix_c_header
+BuildRequires: multilib-rpm-config
+
+# For origin certification
+BuildRequires: gnupg2
+
+# scan-build uses these perl modules so they need to be installed in order
+# to run the tests.
+BuildRequires: perl(Digest::MD5)
+BuildRequires: perl(File::Copy)
+BuildRequires: perl(File::Find)
+BuildRequires: perl(File::Path)
+BuildRequires: perl(File::Temp)
+BuildRequires: perl(FindBin)
+BuildRequires: perl(Hash::Util)
+BuildRequires: perl(lib)
+BuildRequires: perl(Term::ANSIColor)
+BuildRequires: perl(Text::ParseWords)
+BuildRequires: perl(Sys::Hostname)
+
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+# clang requires gcc, clang++ requires libstdc++-devel
+# - https://bugzilla.redhat.com/show_bug.cgi?id=1021645
+# - https://bugzilla.redhat.com/show_bug.cgi?id=1158594
+Requires: libstdc++-devel
+Requires: gcc-c++
+
+Provides: clang(major) = %{maj_ver}
+
+Conflicts: compiler-rt < 11.0.0
+
+%description
+clang: noun
+ 1. A loud, resonant, metallic sound.
+ 2. The strident call of a crane or goose.
+ 3. C-language family front-end toolkit.
+
+The goal of the Clang project is to create a new C, C++, Objective C
+and Objective C++ front-end for the LLVM compiler. Its tools are built
+as libraries and designed to be loosely-coupled and extensible.
+
+Install compiler-rt if you want the Blocks C language extension or to
+enable sanitization and profiling options when building, and
+libomp-devel to enable -fopenmp.
+
+%package libs
+Summary: Runtime library for clang
+Requires: %{name}-resource-filesystem%{?_isa} = %{version}
+Recommends: compiler-rt%{?_isa} = %{version}
+# atomic support is not part of compiler-rt
+Recommends: libatomic%{?_isa}
+# libomp-devel is required, so clang can find the omp.h header when compiling
+# with -fopenmp.
+Recommends: libomp-devel%{_isa} = %{version}
+Recommends: libomp%{_isa} = %{version}
+
+# Use lld as the default linker on ARM due to rhbz#1918924
+%ifarch %{arm}
+Requires: lld
+%endif
+
+%description libs
+Runtime library for clang.
+
+%package devel
+Summary: Development header files for clang
+Requires: %{name}-libs = %{version}-%{release}
+%if %{without compat_build}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+# The clang CMake files reference tools from clang-tools-extra.
+Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
+%endif
+
+%description devel
+Development header files for clang.
+
+%package resource-filesystem
+Summary: Filesystem package that owns the clang resource directory
+Provides: %{name}-resource-filesystem(major) = %{maj_ver}
+
+%description resource-filesystem
+This package owns the clang resouce directory: $libdir/clang/$version/
+
+%if %{without compat_build}
+%package analyzer
+Summary: A source code analysis framework
+License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description analyzer
+The Clang Static Analyzer consists of both a source code analysis
+framework and a standalone tool that finds bugs in C and Objective-C
+programs. The standalone tool is invoked from the command-line, and is
+intended to run in tandem with a build of a project or code base.
+
+%package tools-extra
+Summary: Extra tools for clang
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: emacs-filesystem
+
+%description tools-extra
+A set of extra tools built using Clang's tooling API.
+
+%package tools-extra-devel
+Summary: Development header files for clang tools
+Requires: %{name}-tools-extra = %{version}-%{release}
+
+%description tools-extra-devel
+Development header files for clang tools.
+
+# Put git-clang-format in its own package, because it Requires git
+# and we don't want to force users to install all those dependenices if they
+# just want clang.
+%package -n git-clang-format
+Summary: Integration of clang-format for git
+Requires: %{name}-tools-extra = %{version}-%{release}
+Requires: git
+Requires: python3
+
+%description -n git-clang-format
+clang-format integration for git.
+
+
+%package -n python3-clang
+Summary: Python3 bindings for clang
+Requires: %{name}-devel%{?_isa} = %{version}-%{release}
+Requires: python3
+%description -n python3-clang
+%{summary}.
+
+
+%endif
+
+
+%prep
+%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}'
+
+%if %{with compat_build}
+%autosetup -n %{clang_srcdir} -p2
+%else
+
+%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}'
+%setup -T -q -b 1 -n %{clang_tools_srcdir}
+%autopatch -m200 -p2
+
+
+# failing test case
+rm test/clang-tidy/checkers/altera/struct-pack-align.cpp
+
+%py3_shebang_fix \
+ clang-tidy/tool/ \
+ clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+
+%setup -q -n %{clang_srcdir}
+%autopatch -M200 -p2
+
+# failing test case
+rm test/CodeGen/profile-filter.c
+
+%py3_shebang_fix \
+ tools/clang-format/ \
+ tools/clang-format/git-clang-format \
+ utils/hmaptool/hmaptool \
+ tools/scan-view/bin/scan-view \
+ tools/scan-view/share/Reporter.py \
+ tools/scan-view/share/startfile.py \
+ tools/scan-build-py/bin/* \
+ tools/scan-build-py/libexec/*
+%endif
+
+%build
+
+# Use ThinLTO to limit build time.
+%define _lto_cflags -flto=thin
+# And disable LTO on AArch64 entirely.
+%ifarch aarch64
+%define _lto_cflags %{nil}
+%endif
+
+%if 0%{?__isa_bits} == 64
+sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
+%else
+sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
+%endif
+
+%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le
+# Decrease debuginfo verbosity to reduce memory consumption during final library linking
+%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
+%endif
+
+# Disable dwz on aarch64, because it takes a huge amount of time to decide not to optimize things.
+%ifarch aarch64
+%define _find_debuginfo_dwz_opts %{nil}
+%endif
+
+# We set CLANG_DEFAULT_PIE_ON_LINUX=OFF and PPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON to match the
+# defaults used by Fedora's GCC.
+%cmake -G Ninja \
+ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF \
+%if 0%{?fedora} || 0%{?rhel} > 9
+ -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON \
+%endif
+ -DLLVM_PARALLEL_LINK_JOBS=1 \
+ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DPYTHON_EXECUTABLE=%{__python3} \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+%ifarch s390 s390x %{arm} %ix86 ppc64le
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
+%endif
+%if %{with compat_build}
+ -DCLANG_BUILD_TOOLS:BOOL=OFF \
+ -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
+ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
+ -DCLANG_INCLUDE_TESTS:BOOL=OFF \
+%else
+ -DCLANG_INCLUDE_TESTS:BOOL=ON \
+ -DLLVM_BUILD_UTILS:BOOL=ON \
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DLLVM_LIT_ARGS="-vv" \
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
+%if 0%{?__isa_bits} == 64
+ -DLLVM_LIBDIR_SUFFIX=64 \
+%else
+ -DLLVM_LIBDIR_SUFFIX= \
+%endif
+%endif
+ \
+%if %{with compat_build}
+ -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver} \
+%else
+ -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
+%endif
+ -DCLANG_ENABLE_ARCMT:BOOL=ON \
+ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
+ -DCLANG_INCLUDE_DOCS:BOOL=ON \
+ -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
+ -DENABLE_LINKER_BUILD_ID:BOOL=ON \
+ -DLLVM_ENABLE_EH=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DCLANG_LINK_CLANG_DYLIB=ON \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ \
+ -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \
+%ifarch %{arm}
+ -DCLANG_DEFAULT_LINKER=lld \
+%endif
+ -DCLANG_DEFAULT_UNWINDLIB=libgcc
+
+%cmake_build
+
+%install
+
+%cmake_install
+
+%if %{with compat_build}
+
+# Remove binaries/other files
+rm -Rf %{buildroot}%{install_bindir}
+rm -Rf %{buildroot}%{install_prefix}/share
+rm -Rf %{buildroot}%{install_prefix}/libexec
+# Remove scanview-py helper libs
+rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild}
+
+%else
+
+# File in the macros file for other packages to use. We are not doing this
+# in the compat package, because the version macros would # conflict with
+# eachother if both clang and the clang compat package were installed together.
+install -p -m0644 -D %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.%{name}
+sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
+ -e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
+ -e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \
+ %{buildroot}%{_rpmmacrodir}/macros.%{name}
+
+# install clang python bindings
+mkdir -p %{buildroot}%{python3_sitelib}/clang/
+install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
+%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
+
+# install scanbuild-py to python sitelib.
+mv %{buildroot}%{_prefix}/lib/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
+%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
+
+# Fix permissions of scan-view scripts
+chmod a+x %{buildroot}%{_datadir}/scan-view/{Reporter.py,startfile.py}
+
+# multilib fix
+%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
+
+# Move emacs integration files to the correct directory
+mkdir -p %{buildroot}%{_emacs_sitestartdir}
+for f in clang-format.el clang-rename.el clang-include-fixer.el; do
+mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f
+done
+
+# remove editor integrations (bbedit, sublime, emacs, vim)
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
+
+# TODO: Package html docs
+rm -Rvf %{buildroot}%{_docdir}/Clang/clang/html
+rm -Rvf %{buildroot}%{_datadir}/clang/clang-doc-default-stylesheet.css
+rm -Rvf %{buildroot}%{_datadir}/clang/index.js
+
+# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
+rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
+
+# Create Manpage symlinks
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+
+# Add clang++-{version} symlink
+ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
+
+
+# Fix permission
+chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
+
+# create a link to clang's resource directory that is "constant" across minor
+# version bumps
+# this is required for packages like ccls that hardcode the link to clang's
+# resource directory to not require rebuilds on minor version bumps
+# Fix for bugs like rhbz#1807574
+pushd %{buildroot}%{_libdir}/clang/
+ln -s %{version} %{maj_ver}
+popd
+
+%endif
+
+# Create sub-directories in the clang resource directory that will be
+# populated by other packages
+mkdir -p %{buildroot}%{pkg_libdir}/clang/%{version}/{include,lib,share}/
+
+
+%if %{without compat_build}
+# Add a symlink in /usr/bin to clang-format-diff
+ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
+%endif
+
+%check
+%if %{without compat_build}
+%if %{with check}
+# Build test dependencies separately, to prevent invocations of host clang from being affected
+# by LD_LIBRARY_PATH below.
+%cmake_build --target clang-test-depends \
+ ExtraToolsUnitTests ClangdUnitTests ClangIncludeCleanerUnitTests ClangPseudoUnitTests
+# requires lit.py from LLVM utilities
+# FIXME: Fix failing ARM tests
+LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C %{__cmake_builddir} || \
+%ifarch %{arm}
+:
+%else
+false
+%endif
+%endif
+%endif
+
+
+%if %{without compat_build}
+%files
+%license LICENSE.TXT
+%{_bindir}/clang
+%{_bindir}/clang++
+%{_bindir}/clang-%{maj_ver}
+%{_bindir}/clang++-%{maj_ver}
+%{_bindir}/clang-cl
+%{_bindir}/clang-cpp
+%{_mandir}/man1/clang.1.gz
+%{_mandir}/man1/clang++.1.gz
+%{_mandir}/man1/clang-%{maj_ver}.1.gz
+%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+%endif
+
+%files libs
+%if %{without compat_build}
+%{_libdir}/clang/%{version}/include/*
+%{_libdir}/*.so.*
+%else
+%{pkg_libdir}/*.so.*
+%{pkg_libdir}/clang/%{version}/include/*
+%endif
+
+%files devel
+%if %{without compat_build}
+%{_libdir}/*.so
+%{_includedir}/clang/
+%{_includedir}/clang-c/
+%{_libdir}/cmake/*
+%{_bindir}/clang-tblgen
+%dir %{_datadir}/clang/
+%{_rpmmacrodir}/macros.%{name}
+%else
+%{pkg_libdir}/*.so
+%{pkg_includedir}/clang/
+%{pkg_includedir}/clang-c/
+%{pkg_libdir}/cmake/
+%endif
+
+%files resource-filesystem
+%dir %{pkg_libdir}/clang/
+%dir %{pkg_libdir}/clang/%{version}/
+%dir %{pkg_libdir}/clang/%{version}/include/
+%dir %{pkg_libdir}/clang/%{version}/lib/
+%dir %{pkg_libdir}/clang/%{version}/share/
+%if %{without compat_build}
+%{pkg_libdir}/clang/%{maj_ver}
+%endif
+
+%if %{without compat_build}
+%files analyzer
+%{_bindir}/scan-view
+%{_bindir}/scan-build
+%{_bindir}/analyze-build
+%{_bindir}/intercept-build
+%{_bindir}/scan-build-py
+%{_libexecdir}/ccc-analyzer
+%{_libexecdir}/c++-analyzer
+%{_libexecdir}/analyze-c++
+%{_libexecdir}/analyze-cc
+%{_libexecdir}/intercept-c++
+%{_libexecdir}/intercept-cc
+%{_datadir}/scan-view/
+%{_datadir}/scan-build/
+%{_mandir}/man1/scan-build.1.*
+%{python3_sitelib}/libear
+%{python3_sitelib}/libscanbuild
+
+
+%files tools-extra
+%{_bindir}/clang-apply-replacements
+%{_bindir}/clang-change-namespace
+%{_bindir}/clang-check
+%{_bindir}/clang-doc
+%{_bindir}/clang-extdef-mapping
+%{_bindir}/clang-format
+%{_bindir}/clang-include-fixer
+%{_bindir}/clang-move
+%{_bindir}/clang-offload-bundler
+%{_bindir}/clang-offload-packager
+%{_bindir}/clang-offload-wrapper
+%{_bindir}/clang-linker-wrapper
+%{_bindir}/clang-nvlink-wrapper
+%{_bindir}/clang-pseudo
+%{_bindir}/clang-query
+%{_bindir}/clang-refactor
+%{_bindir}/clang-rename
+%{_bindir}/clang-reorder-fields
+%{_bindir}/clang-repl
+%{_bindir}/clang-scan-deps
+%{_bindir}/clang-tidy
+%{_bindir}/clangd
+%{_bindir}/diagtool
+%{_bindir}/hmaptool
+%{_bindir}/pp-trace
+%{_bindir}/c-index-test
+%{_bindir}/find-all-symbols
+%{_bindir}/modularize
+%{_bindir}/clang-format-diff
+%{_mandir}/man1/diagtool.1.gz
+%{_emacs_sitestartdir}/clang-format.el
+%{_emacs_sitestartdir}/clang-rename.el
+%{_emacs_sitestartdir}/clang-include-fixer.el
+%{_datadir}/clang/clang-format.py*
+%{_datadir}/clang/clang-format-diff.py*
+%{_datadir}/clang/clang-include-fixer.py*
+%{_datadir}/clang/clang-tidy-diff.py*
+%{_bindir}/run-clang-tidy
+%{_datadir}/clang/run-find-all-symbols.py*
+%{_datadir}/clang/clang-rename.py*
+
+%files tools-extra-devel
+%{_includedir}/clang-tidy/
+
+%files -n git-clang-format
+%{_bindir}/git-clang-format
+
+%files -n python3-clang
+%{python3_sitelib}/clang/
+
+
+%endif
+%changelog
+* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.7-3
+- Update license to SPDX identifiers.
+- Include the Apache license adopted in 2019.
+
+* Wed Jan 18 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 15.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jan 12 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.7-1
+- Update to LLVM 15.0.7
+
+* Thu Jan 12 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.6-5
+- Fix resource-filesystem ownership conflict
+
+* Mon Jan 09 2023 Tom Stellard <tstellar(a)redhat.com> - 15.0.6-4
+- Omit frame pointers when building
+
+* Wed Dec 21 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-3
+- Add clang-devel dep to python3-clang
+
+* Mon Dec 12 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-2
+- Backport patches for ucrt64 toolchain detection
+
+* Mon Dec 05 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-1
+- Update to LLVM 15.0.6
+
+* Thu Nov 03 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.4-1
+- Update to LLVM 15.0.4
+
+* Wed Oct 19 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-6
+- Enable ieeelongdouble for ppc64le, fix rhbz#2136099
+
+* Thu Oct 13 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-5
+- Default to non-pie, fix rhbz#2134146
+
+* Wed Oct 05 2022 sguelton(a)redhat.com - 15.0.0-4
+- Package clang-tidy headers in clang-tools-extra-devel, fix rhbz#2123479
+
+* Thu Sep 22 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-3
+- Add patch for inline builtins with asm label
+
+* Sat Sep 17 2022 sguelton(a)redhat.com - 15.0.0-3
+- Improve integration of llvm's libunwind
+
+* Wed Sep 14 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-2
+- Downgrade implicit int and implicit function declaration to warning only
+
+* Tue Sep 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-1
+- Update to LLVM 15.0.0
+
+* Mon Aug 29 2022 sguelton(a)redhat.com - 14.0.5-7
+- Add a Recommends on libatomic, see rhbz#2118592
+
+* Wed Aug 10 2022 Nikita Popov <npopov(a)redhat.com> - 14.0.5-6
+- Revert powerpc -mabi=ieeelongdouble default
+
+* Thu Aug 04 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.5-5
+- Re-enable ieee128 as the default long double format on ppc64le
+
+* Thu Jul 28 2022 Amit Shah <amitshah(a)fedoraproject.org> - 14.0.5-4
+- Use the dist_vendor macro to identify the distribution
+
+* Wed Jul 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 14.0.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Thu Jun 30 2022 Miro Hrončok <mhroncok(a)redhat.com> - 14.0.5-2
+- Revert "Use the ieee128 format for long double on ppc64le" until rhbz#2100546 is fixed
+
+* Tue Jun 14 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.5-1
+- Update to 14.0.5
+
+* Mon Jun 13 2022 Python Maint <python-maint(a)redhat.com> - 14.0.0-4
+- Rebuilt for Python 3.11
+
+* Thu May 19 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.0-3
+- Use the ieee128 format for long double on ppc64le
+
+* Mon Apr 04 2022 Jeremy Newton <alexjnewt AT hotmail DOT com> - 14.0.0-2
+- Add patch for HIP (cherry-picked from llvm trunk, to be LLVM15)
+
+* Wed Mar 23 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.0-1
+- Update to 14.0.0
+
+* Wed Feb 16 2022 Tom Stellard <tstellar(a)redhat.com> - 13.0.1-2
+- Fix some rpmlinter errors
+
+* Thu Feb 03 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1-1
+- Update to LLVM 13.0.1 final
+
+* Tue Feb 01 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc3-1
+- Update to LLVM 13.0.1rc3
+
+* Wed Jan 19 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.0.1~rc2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jan 14 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc2-1
+- Update to LLVM 13.0.1rc2
+
+* Wed Jan 12 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc1-1
+- Update to LLVM 13.0.1rc1
+
+* Thu Oct 28 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-5
+- Make lld the default linker on arm
+
+* Wed Oct 27 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-4
+- Remove Conflicts: compiler-rt for newer versions of compiler-rt
+
+* Wed Oct 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-3
+- Fix gcc detection with redhat triples
+
+* Tue Oct 05 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-2
+- Drop abi_revision from soname
+
+* Fri Oct 01 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-1
+- 13.0.0 Release
+
+* Sat Sep 18 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-5
+- 13.0.0-rc3 Release
+
+* Tue Sep 14 2021 Konrad Kleine <kkleine(a)redhat.com> - 13.0.0~rc1-4
+- Add --without=check option
+
+* Fri Sep 10 2021 sguelton(a)redhat.com - 13.0.0~rc1-3
+- Apply scan-build-py intergation patch
+
+* Thu Sep 09 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-2
+- Add macros.clang file
+
+* Fri Aug 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-1
+- 13.0.0-rc1 Release
+
+* Thu Jul 22 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-3
+- Fix compat build
+
+* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 12.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jul 13 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-1
+- 12.0.1 Release
+
+* Fri Jul 09 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc3-2
+- Fix ambiguous python shebangs
+
+* Wed Jun 30 2021 Tom Stellard <tstellar(a)redhat.com> - clang-12.0.1~rc3-1
+- 12.0.1-rc3 Release
+
+* Tue Jun 08 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc1-3
+- Only enable -funwind-tables by default on Fedora arches
+
+* Fri Jun 04 2021 Python Maint <python-maint(a)redhat.com> - 12.0.1~rc1-2
+- Rebuilt for Python 3.10
+
+* Thu May 27 2021 Tom Stellard <tstellar(a)redhat.com> - clang-12.0.1~rc1-1
+- 12.0.1-rc1 Release
+
+* Tue May 18 2021 sguelton(a)redhat.com - 12.0.0-2
+- Use the alternative-managed version of llvm-config
+
+* Fri Apr 16 2021 Tom Stellard <tstellar(a)redhat.cm> - 12.0.0-1
+- 12.0.0 Release
+
+* Wed Apr 14 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-0.12.rc5
+- Add symlink to clang-format-diff in /usr/bin
+- rhbz#1939018
+
+* Thu Apr 08 2021 sguelton(a)redhat.com - 12.0.0-0.11.rc5
+- New upstream release candidate
+
+* Sat Apr 03 2021 sguelton(a)redhat.com - 12.0.0-0.10.rc4
+- Make pyc files from python3-clang reproducible
+
+* Fri Apr 02 2021 sguelton(a)redhat.com - 12.0.0-0.9.rc4
+- New upstream release candidate
+
+* Wed Mar 31 2021 Jonathan Wakely <jwakely(a)redhat.com> - 12.0.0-0.8.rc3
+- Rebuilt for removed libstdc++ symbols (#1937698)
+
+* Mon Mar 15 2021 sguelton(a)redhat.com - 12.0.0-0.7.rc3
+- Apply patch D97846 to fix rhbz#1934065
+
+* Mon Mar 15 2021 Timm Bäder <tbaeder(a)redhat.com> 12.0.0-0.6.rc3
+- Set CLANG_DEFAULT_UNWIND_LIB instead of using custom patch
+- Add toolchains test to the tests.yml
+
+* Thu Mar 11 2021 sguelton(a)redhat.com - 12.0.0-0.5.rc3
+- LLVM 12.0.0 rc3
+
+* Tue Mar 09 2021 sguelton(a)redhat.com - 12.0.0-0.4.rc2
+- rebuilt
+
+* Mon Mar 01 2021 sguelton(a)redhat.com - 12.0.0-0.3.rc2
+- Reapply some wrongly removed patch
+
+* Wed Feb 24 2021 sguelton(a)redhat.com - 12.0.0-0.2.rc2
+- 12.0.0-rc2 release
+
+* Sun Feb 14 2021 sguelton(a)redhat.com - 12.0.0-0.1.rc1
+- 12.0.0-rc1 release
+
+* Tue Feb 09 2021 Tom Stellard <tstellar(a)redhat.com> - 11.1.0-0.5.rc2
+- Remove some unnecessary scan-view files
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 11.1.0-0.4.rc2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.3.rc2
+- 11.1.0-rc2 release
+
+* Wed Jan 20 2021 Serge Guelton - 11.1.0-0.2.rc1
+- rebuilt with https://reviews.llvm.org/D94941 applied.
+
+* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
+- 11.1.0-rc1 release
+
+* Wed Jan 06 2021 Serge Guelton - 11.0.1-4
+- LLVM 11.0.1 final
+
+* Sun Dec 20 2020 sguelton(a)redhat.com - 11.0.1-3.rc2
+- llvm 11.0.1-rc2
+
+* Wed Dec 16 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.1-2.rc1
+- Don't build with -flto
+
+* Tue Dec 01 2020 sguelton(a)redhat.com - 11.0.1-1.rc1
+- llvm 11.0.1-rc1
+
+* Thu Oct 29 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-3
+- Remove -ffat-lto-objects compiler flag
+
+* Wed Oct 28 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-2
+- Add clang-resource-filesystem sub-package
+
+* Thu Oct 15 2020 sguelton(a)redhat.com - 11.0.0-1
+- Fix NVR
+
+* Mon Oct 12 2020 sguelton(a)redhat.com - 11.0.0-0.7
+- llvm 11.0.0 - final release
+
+* Thu Oct 08 2020 sguelton(a)redhat.com - 11.0.0-0.6.rc6
+- 11.0.0-rc6
+
+* Fri Oct 02 2020 sguelton(a)redhat.com - 11.0.0-0.5.rc5
+- 11.0.0-rc5 Release
+
+* Sun Sep 27 2020 sguelton(a)redhat.com - 11.0.0-0.4.rc3
+- Fix NVR
+
+* Thu Sep 24 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc3
+- 11.0.0-rc3 Release
+
+* Tue Sep 22 2020 sguelton(a)redhat.com - 11.0.0-0.3.rc2
+- Prefer gcc toolchains with libgcc_s
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.2.rc2
+- Normalize some doc directory locations
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc2
+- 11.0.0-rc2 Release
+- Use %%license macro
+
+* Tue Aug 11 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.2.rc1
+- Fix test failures
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.1.rc1
+- 11.0.0-rc1 Release
+
+* Tue Aug 04 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-11
+- Remove Requires: emacs-filesystem
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-10
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jul 28 2020 Jeff Law <law(a)redhat.com> - 10.0.0-9
+- Disable LTO on arm and i686
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 20 2020 sguelton(a)redhat.com - 10.0.0-7
+- Update cmake macro usage
+- Finalize source verification
+
+* Fri Jun 26 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-6
+- Add cet.h header
+
+* Mon Jun 08 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-5
+- Accept multiple --config options
+
+* Wed Jun 3 2020 Dan Čermák <dan.cermak(a)cgc-instruments.com> - 10.0.0-4
+- Add symlink to %%{_libdir}/clang/%%{maj_ver} for persistent access to the resource directory accross minor version bumps
+
+* Mon May 25 2020 Miro Hrončok <mhroncok(a)redhat.com> - 10.0.0-3
+- Rebuilt for Python 3.9
+
+* Tue May 19 2020 sguelton(a)redhat.com - 10.0.0-2
+- Backport ad7211df6f257e39da2e5a11b2456b4488f32a1e, see rhbz#1825593
+
+* Thu Mar 26 2020 sguelton(a)redhat.com - 10.0.0-1
+- 10.0.0 final
+
+* Tue Mar 24 2020 sguelton(a)redhat.com - 10.0.0-0.11.rc6
+- 10.0.0 rc6
+
+* Sun Mar 22 2020 sguelton(a)redhat.com - 10.0.0-0.10.rc5
+- Update git-clang-format dependency, see rhbz#1815913
+
+* Fri Mar 20 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-0.9.rc5
+- Add dependency on libomp-devel
+
+* Fri Mar 20 2020 sguelton(a)redhat.com - 10.0.0-0.8.rc5
+- 10.0.0 rc5
+
+* Sat Mar 14 2020 sguelton(a)redhat.com - 10.0.0-0.7.rc4
+- 10.0.0 rc4
+
+* Thu Mar 12 2020 sguelton(a)redhat.com - 10.0.0-0.6.rc3
+- Move a few files from clang to clang-tools-extra.
+
+* Thu Mar 05 2020 sguelton(a)redhat.com - 10.0.0-0.5.rc3
+- 10.0.0 rc3
+
+* Tue Feb 25 2020 sguelton(a)redhat.com - 10.0.0-0.4.rc2
+- Apply -fdiscard-value-names patch.
+
+* Mon Feb 17 2020 sguelton(a)redhat.com - 10.0.0-0.3.rc2
+- Fix NVR
+
+* Fri Feb 14 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc2
+- 10.0.0 rc2
+
+* Tue Feb 11 2020 sguelton(a)redhat.com - 10.0.0-0.2.rc1
+- Explicitly conflicts with any different compiler-rt version, see rhbz#1800705
+
+* Fri Jan 31 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-0.1.rc1
+- Stop shipping individual component libraries
+- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component...
+
+* Fri Jan 31 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc1
+- 10.0.0 rc1
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 9.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jan 10 2020 Tom Stellard <tstellar(a)redhat.com> - 9.0.1-2
+- Fix crash with kernel bpf self-tests
+
+* Thu Dec 19 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.1-1
+- 9.0.1 Release
+
+* Wed Dec 11 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-3
+- Add explicit requires for clang-libs to fix rpmdiff errors
+
+* Tue Dec 10 2019 sguelton(a)redhat.com - 9.0.0-2
+- Activate -funwind-tables on all arches, see rhbz#1655546.
+
+* Thu Sep 19 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-1
+- 9.0.0 Release
+
+* Wed Sep 11 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.2.rc3
+- Reduce debug info verbosity on ppc64le to avoid OOM errors in koji
+
+* Thu Aug 22 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.1.rc3
+- 9.0.0 Release candidate 3
+
+* Tue Aug 20 2019 sguelton(a)redhat.com - 8.0.0-4
+- Rebuilt for Python 3.8
+
+* Mon Aug 19 2019 Miro Hrončok <mhroncok(a)redhat.com> - 8.0.0-3.2
+- Rebuilt for Python 3.8
+
+* Wed Jul 24 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 8.0.0-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu May 16 2019 sguelton(a)redhat.com - 8.0.0-3
+- Fix for rhbz#1674031
+
+* Fri Apr 12 2019 sguelton(a)redhat.com - 8.0.0-2
+- Remove useless patch thanks to GCC upgrade
+
+* Wed Mar 20 2019 sguelton(a)redhat.com - 8.0.0-1
+- 8.0.0 final
+
+* Tue Mar 12 2019 sguelton(a)redhat.com - 8.0.0-0.6.rc4
+- 8.0.0 Release candidate 4
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.5.rc3
+- Cleanup specfile after llvm dependency update
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc3
+- 8.0.0 Release candidate 3
+
+* Mon Feb 25 2019 tstellar(a)redhat.com - 8.0.0-0.3.rc2
+- Fix compiling with -stdlib=libc++
+
+* Thu Feb 21 2019 sguelton(a)redhat.com - 8.0.0-0.2.rc2
+- 8.0.0 Release candidate 2
+
+* Sat Feb 09 2019 sguelton(a)redhat.com - 8.0.0-0.1.rc1
+- 8.0.0 Release candidate 1
+
+* Tue Feb 05 2019 sguelton(a)redhat.com - 7.0.1-6
+- Update patch for Python3 port of scan-view
+
+* Tue Feb 05 2019 sguelton(a)redhat.com - 7.0.1-5
+- Working CI test suite
+
+* Mon Feb 04 2019 sguelton(a)redhat.com - 7.0.1-4
+- Workaround gcc-9 bug when compiling bitfields
+
+* Fri Feb 01 2019 sguelton(a)redhat.com - 7.0.1-3
+- Fix uninitialized error detected by gcc-9
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0.1-2.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Dec 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.1-2
+- Fix for rhbz#1657544
+
+* Tue Dec 18 2018 sguelton(a)redhat.com - 7.0.1-1
+- 7.0.1
+
+* Tue Dec 18 2018 sguelton(a)redhat.com - 7.0.0-10
+- Install proper manpage symlinks for clang/clang++ versions
+
+* Fri Dec 14 2018 sguelton(a)redhat.com - 7.0.0-9
+- No longer Ignore -fstack-clash-protection option
+
+* Tue Dec 04 2018 sguelton(a)redhat.com - 7.0.0-8
+- Ensure rpmlint passes on specfile
+
+* Fri Nov 30 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-7
+- Drop python2 dependency from clang-tools-extra
+
+* Wed Nov 21 2018 sguelton(a)redhat.com - 7.0.0-6
+- Prune unneeded reference to llvm-test-suite sub-package
+
+* Mon Nov 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-5
+- Run 'make check-all' instead of 'make check-clang'
+
+* Mon Nov 19 2018 sergesanspaille <sguelton(a)redhat.com> - 7.0.0-4
+- Avoid Python2 + Python3 dependency for clang-analyzer
+
+* Mon Nov 05 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-3
+- User helper macro to fixup config.h for multilib
+
+* Tue Oct 02 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-2
+- Use correct shebang substitution for python scripts
+
+* Mon Sep 24 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-1
+- 7.0.0 Release
+
+* Wed Sep 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.16.rc3
+- Move builtin headers into clang-libs sub-package
+
+* Wed Sep 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.15.rc3
+- Remove ambiguous python shebangs
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.14.rc3
+- Move unversioned shared objects to devel package
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.13.rc3
+- Rebuild with new llvm-devel that disables rpath on install
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.12.rc3
+- Fix clang++-7 symlink
+
+* Wed Sep 12 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.11.rc3
+- 7.0.0-rc3 Release
+
+* Mon Sep 10 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.10.rc2
+- Drop siod from llvm-test-suite
+
+* Fri Sep 07 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.9.rc2
+- Drop python2 dependency from clang package
+
+* Thu Sep 06 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.8.rc2
+- Drop all uses of python2 from lit tests
+
+* Sat Sep 01 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.7.rc2
+- Add Fedora specific version string
+
+* Tue Aug 28 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.6.rc2
+- 7.0.0-rc2 Release
+
+* Tue Aug 28 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.5.rc1
+- Enable unit tests
+
+* Fri Aug 17 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.4.rc1
+- Move llvm-test-suite into a sub-package
+
+* Fri Aug 17 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.3.rc1
+- Recommend the same version of compiler-rt
+
+* Wed Aug 15 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.2.rc1
+- Rebuild for f30
+
+* Mon Aug 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.1.rc1
+- 7.0.0-rc1 Release
+
+* Mon Jul 23 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-3
+- Sync spec file with the clang6.0 package
+
+* Thu Jul 12 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jun 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-1
+- 6.0.1 Release
+
+* Wed Jun 13 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.2.rc2
+- 6.0.1-rc2
+
+* Fri May 11 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.1.rc1
+- 6.0.1-rc1 Release
+
+* Fri Mar 23 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-5
+- Add a clang++-{version} symlink rhbz#1534098
+
+* Thu Mar 22 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-4
+- Use correct script for running lit tests
+
+* Wed Mar 21 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-3
+- Fix toolchain detection so we don't default to using cross-compilers:
+ rhbz#1482491
+
+* Mon Mar 12 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-2
+- Add Provides: clang(major) rhbz#1547444
+
+* Fri Mar 09 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-1
+- 6.0.0 Release
+
+* Mon Feb 12 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.6.rc2
+- 6.0.0-rc2 Release
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-0.5.rc1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Feb 01 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.4.rc1
+- Package python helper scripts for tools
+
+* Fri Jan 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.3.rc1
+- Ignore -fstack-clash-protection option instead of giving an error
+
+* Fri Jan 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.2.rc1
+- Package emacs integration files
+
+* Wed Jan 24 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.1.rc1
+- 6.0.0-rc1 Release
+
+* Wed Jan 24 2018 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-3
+- Rebuild against llvm5.0 compatibility package
+- rhbz#1538231
+
+* Wed Jan 03 2018 Iryna Shcherbina <ishcherb(a)redhat.com> - 5.0.1-2
+- Update Python 2 dependency declarations to new packaging standards
+ (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Wed Dec 20 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-1
+- 5.0.1 Release
+
+* Wed Dec 13 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-3
+- Make compiler-rt a weak dependency and add a weak dependency on libomp
+
+* Mon Nov 06 2017 Merlin Mathesius <mmathesi(a)redhat.com> - 5.0.0-2
+- Cleanup spec file conditionals
+
+* Mon Oct 16 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-1
+- 5.0.0 Release
+
+* Wed Oct 04 2017 Rex Dieter <rdieter(a)fedoraproject.org> - 4.0.1-6
+- python2-clang subpkg (#1490997)
+- tools-extras: tighten (internal) -libs dep
+- %%install: avoid cd
+
+* Wed Aug 30 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-5
+- Add Requires: python for git-clang-format
+
+* Sun Aug 06 2017 Björn Esser <besser82(a)fedoraproject.org> - 4.0.1-4
+- Rebuilt for AutoReq cmake-filesystem
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Jun 23 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-1
+- 4.0.1 Release.
+
+* Fri Jun 16 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-8
+- Enable make check-clang
+
+* Mon Jun 12 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-7
+- Package git-clang-format
+
+* Thu Jun 08 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-6
+- Generate man pages
+
+* Thu Jun 08 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-5
+- Ignore test-suite failures until all arches are fixed.
+
+* Mon Apr 03 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-4
+- Run llvm test-suite
+
+* Mon Mar 27 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-3
+- Enable eh/rtti, which are required by lldb.
+
+* Fri Mar 24 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-2
+- Fix clang-tools-extra build
+- Fix install
+
+* Thu Mar 23 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-1
+- clang 4.0.0 final release
+
+* Mon Mar 20 2017 David Goerger <david.goerger(a)yale.edu> - 3.9.1-3
+- add clang-tools-extra rhbz#1328091
+
+* Thu Mar 16 2017 Tom Stellard <tstellar(a)redhat.com> - 3.9.1-2
+- Enable build-id by default rhbz#1432403
+
+* Thu Mar 02 2017 Dave Airlie <airlied(a)redhat.com> - 3.9.1-1
+- clang 3.9.1 final release
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.9.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Nov 14 2016 Nathaniel McCallum <npmccallum(a)redhat.com> - 3.9.0-3
+- Add Requires: compiler-rt to clang-libs.
+- Without this, compiling with certain CFLAGS breaks.
+
+* Tue Nov 1 2016 Peter Robinson <pbrobinson(a)fedoraproject.org> 3.9.0-2
+- Rebuild for new arches
+
+* Fri Oct 14 2016 Dave Airlie <airlied(a)redhat.com> - 3.9.0-1
+- clang 3.9.0 final release
+
+* Fri Jul 01 2016 Stephan Bergmann <sbergman(a)redhat.com> - 3.8.0-2
+- Resolves: rhbz#1282645 add GCC abi_tag support
+
+* Thu Mar 10 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-1
+- clang 3.8.0 final release
+
+* Thu Mar 03 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-0.4
+- clang 3.8.0rc3
+
+* Wed Feb 24 2016 Dave Airlie <airlied(a)redhat.com> - 3.8.0-0.3
+- package all libs into clang-libs.
+
+* Wed Feb 24 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-0.2
+- enable dynamic linking of clang against llvm
+
+* Thu Feb 18 2016 Dave Airlie <airlied(a)redhat.com> - 3.8.0-0.1
+- clang 3.8.0rc2
+
+* Fri Feb 12 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-4
+- rebuild against latest llvm packages
+- add BuildRequires llvm-static
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.7.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Jan 28 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-2
+- just accept clang includes moving to /usr/lib64, upstream don't let much else happen
+
+* Thu Jan 28 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-1
+- initial build in Fedora.
+
+* Tue Oct 06 2015 Jan Vcelak <jvcelak(a)fedoraproject.org> 3.7.0-100
+- initial version using cmake build system
diff --git a/fix-lto-path.patch b/fix-lto-path.patch
new file mode 100644
index 0000000..9602194
--- /dev/null
+++ b/fix-lto-path.patch
@@ -0,0 +1,25 @@
+diff --git a/clang/include/clang/Config/config.h.cmake b/clang/include/clang/Config/config.h.cmake
+index dfd2f757a185..96aceb656e2b 100644
+--- a/clang/include/clang/Config/config.h.cmake
++++ b/clang/include/clang/Config/config.h.cmake
+@@ -104,4 +104,6 @@
+ /* Whether to enable opaque pointers by default */
+ #cmakedefine01 CLANG_ENABLE_OPAQUE_POINTERS_INTERNAL
+
++#define CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}"
++
+ #endif
+diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+index 443725f7d8a8..23239824a0f1 100644
+--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
++++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+@@ -501,8 +501,7 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
+ #endif
+
+ SmallString<1024> Plugin;
+- llvm::sys::path::native(
+- Twine(D.Dir) + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold" + Suffix,
++ llvm::sys::path::native(Twine(CLANG_INSTALL_PREFIX "/LLVMgold") + Suffix,
+ Plugin);
+ CmdArgs.push_back(Args.MakeArgString(Plugin));
+ }
diff --git a/macros.clang b/macros.clang
new file mode 100644
index 0000000..1f26e35
--- /dev/null
+++ b/macros.clang
@@ -0,0 +1,16 @@
+%clang_major_version @@CLANG_MAJOR_VERSION@@
+%clang_minor_version @@CLANG_MINOR_VERSION@@
+%clang_patch_version @@CLANG_PATCH_VERSION@@
+
+%clang_version %{clang_major_version}.%{clang_minor_version}.%{clang_patch_version}
+
+# This is the path to the clang resource directory that has clang's internal
+# headers and libraries. This path should be used by packages that need to
+# install files into this directory. This macro's value changes every time
+# clang's version changes.
+%clang_resource_dir %{_libdir}/clang/%{clang_version}
+
+# This is the path to the clang resource directory that should be used
+# by packages that need to read files from this directory at runtime.
+# This macro only changes when clang's major version changes.
+%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version}
diff --git a/release-keys.asc b/release-keys.asc
new file mode 100644
index 0000000..0d3789a
--- /dev/null
+++ b/release-keys.asc
@@ -0,0 +1,104 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
+=Lvw+
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=tMzl
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/sources b/sources
new file mode 100644
index 0000000..217a12d
--- /dev/null
+++ b/sources
@@ -0,0 +1,4 @@
+SHA512 (clang-15.0.7.src.tar.xz) = 9fd2736a9f5993ddbb5b3c507fe497234a6def64f6f418f379d1ca56c9c361ad1ae9a5445ab938230fbc1671ec00b4f802a412b048569023863c20dc6bb46a1f
+SHA512 (clang-15.0.7.src.tar.xz.sig) = e1b41c5a6509c3554794bfa1b8d048f13268bc2234d7480f04f7700e27bd9d53e40bc1433885716a64da57458f3041c42a66639045476daefffc3f5d2e3d6efd
+SHA512 (clang-tools-extra-15.0.7.src.tar.xz) = dd95d261d3a1618967b698e97ac0b41204d872d7479c0c832fcf5a91fe447af6a97fa794de07b3e271285867b30b905688f090e98f516b9df4cdfb3bad9defc6
+SHA512 (clang-tools-extra-15.0.7.src.tar.xz.sig) = 10887b80d453d1ec826afbf5cfd937d5b671ed73f54691072b2b097da21f9358b8d6372df79200dc0694cbbc40b816c4139690b4e7033ba03a8a9b92611ee4ce
1 year, 2 months
Architecture specific change in rpms/python-fsleyes.git
by githook-noreply@fedoraproject.org
The package rpms/python-fsleyes.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/python-fsleyes.git/commit/?id=a87....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 5c45703c569607609774c933d6c08ce6b8fc5d25
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 16:06:58 2023 +0000
feat: update to 1.6.1 (fixes rhbz#2171871)
diff --git a/.gitignore b/.gitignore
index 688b4a9..f393832 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@
/fsleyes-1.3.3.tar.gz
/fsleyes-1.4.1.tar.gz
/fsleyes-1.5.0.tar.gz
+/fsleyes-1.6.1.tar.gz
diff --git a/python-fsleyes.spec b/python-fsleyes.spec
index 55e1a50..29a1218 100644
--- a/python-fsleyes.spec
+++ b/python-fsleyes.spec
@@ -9,7 +9,7 @@ FSLeyes, the FSL image viewer
%global forgeurl https://github.com/pauldmccarthy/fsleyes
Name: python-fsleyes
-Version: 1.5.0
+Version: 1.6.1
Release: %autorelease
Summary: FSLeyes, the FSL image viewer
diff --git a/sources b/sources
index 8a9d589..62a8e31 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fsleyes-1.5.0.tar.gz) = cc74244ff56b66fca6ffeb10ae21dc69a0a771a1fb0fbaa6b95837cf8a25e674e7b0f81e96ce7583c22844e217f5b258ec0bd3639559de4e74e85847afdd70b7
+SHA512 (fsleyes-1.6.1.tar.gz) = a7518e54f944a68982f72bd963464f15e21f45b142de1ce7847ab23e183f3d5d4b35f7332efd393c22e0b276ef378843f183e9d3e19e8886288861b69048cde6
commit 9bc49eda2e0608943bd0b04e4423029caeb0ffee
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 13:20:32 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit a87123c1d9b4ca44d7eac6a80fa6f664aaf29943
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Wed Dec 21 13:08:31 2022 -0500
Leaf package: remove i686 support
diff --git a/python-fsleyes.spec b/python-fsleyes.spec
index fd5c290..55e1a50 100644
--- a/python-fsleyes.spec
+++ b/python-fsleyes.spec
@@ -22,6 +22,9 @@ Source0: %forgesource
BuildArch: noarch
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
%description
%{desc}
1 year, 2 months
Architecture specific change in rpms/python-elephant.git
by githook-noreply@fedoraproject.org
The package rpms/python-elephant.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/python-elephant.git/commit/?id=db...
https://src.fedoraproject.org/cgit/rpms/python-elephant.git/commit/?id=ac....
Change:
+%ifarch %{power64}
+ExcludeArch: s390x
Thanks.
Full change:
============
commit db2d84ac50a48e100a64ba6d3762b72422e9432e
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 15:37:40 2023 +0000
fix: deselect failing tests
diff --git a/python-elephant.spec b/python-elephant.spec
index 18c748a..140d379 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -75,7 +75,12 @@ cat requirements/requirements-extras.txt >> requirements/requirements-tests.txt
# fails on aarch64
# reported upstream: https://github.com/NeuralEnsemble/elephant/issues/479
%ifarch %{arm64}
-k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_multidim_input"
+k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_multidim_input and not test_multitaper_cohere_perfect_cohere"
+%endif
+
+# fails on ppc64le
+%ifarch %{power64}
+k="${k:-}${k:+ and} not test_multitaper_cohere_perfect_cohere"
%endif
%if %{without net_tests}
commit 4e49d1c4a08cc3f1b3757ac69e63c4eae71ab319
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 14:27:35 2023 +0000
feat: update to 0.12.0 (fixes rhbz#2137931, fixes rhbz#2173307)
diff --git a/.gitignore b/.gitignore
index 6bb5da1..b02a427 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/elephant-0.10.0.tar.gz
/elephant-0.11.0.tar.gz
/elephant-0.11.1.tar.gz
+/elephant-0.12.0.tar.gz
diff --git a/0001-use-fedora-build-flags.patch b/0001-use-fedora-build-flags.patch
index 2ff702d..1f1117a 100644
--- a/0001-use-fedora-build-flags.patch
+++ b/0001-use-fedora-build-flags.patch
@@ -1,27 +1,28 @@
-From e9f4c645ae7fa05855d4a5429b7c1f2b4b65ff98 Mon Sep 17 00:00:00 2001
+From d7755ab180d819bc0e0879b5e25592fc053971e7 Mon Sep 17 00:00:00 2001
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur(a)gmail.com>
-Date: Wed, 20 Apr 2022 14:25:56 +0100
+Date: Mon, 27 Feb 2023 14:14:41 +0000
Subject: [PATCH] use fedora build flags
---
- setup.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
+ setup.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/setup.py b/setup.py
-index 7960705..ea5dd42 100644
+index a5abae0..2180c08 100644
--- a/setup.py
+++ b/setup.py
-@@ -49,9 +49,7 @@ elif platform.system() == "Linux":
- libraries=['pthread', 'gomp'],
+@@ -41,10 +41,7 @@ elif platform.system() == "Darwin":
+ libraries=['pthread', 'omp'],
extra_compile_args=[
'-DMODULE_NAME=fim', '-DUSE_OPENMP', '-DWITH_SIG_TERM',
- '-Dfim_EXPORTS', '-O3', '-pedantic', '-Wextra',
-- '-Weffc++', '-Wunused-result', '-Werror',
-- '-fopenmp', '-std=gnu++17'])
-+ '-Dfim_EXPORTS', '-Weffc++', '-fopenmp', '-std=gnu++17'])
-
- setup_kwargs = {
- "name": "elephant",
+- '-Weffc++', '-Wunused-result', '-Werror', '-Werror=return-type',
+- '-Xpreprocessor',
+- '-fopenmp', '-std=gnu++17'],
++ '-Dfim_EXPORTS', '-Weffc++', '-Xpreprocessor', '-fopenmp', '-std=gnu++17'],
+ optional=True
+ )
+ elif platform.system() == "Linux":
--
-2.37.2
+2.39.2
diff --git a/python-elephant.spec b/python-elephant.spec
index d645677..18c748a 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -5,7 +5,7 @@
%global pypi_name elephant
Name: python-elephant
-Version: 0.11.1
+Version: 0.12.0
Release: %autorelease
Summary: Elephant is a package for analysis of electrophysiology data in Python
License: BSD
@@ -80,7 +80,7 @@ k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_
%if %{without net_tests}
# Disable tests that download bits
-k="${k:-}${k:+ and }not test_repr and not test__UE_surrogate and not test_spike_contrast_with_Izhikevich_network_auto and not test_Riehle_et_al_97_UE and not test_multitaper_psd_against_nitime"
+k="${k:-}${k:+ and }not test_repr and not test__UE_surrogate and not test_spike_contrast_with_Izhikevich_network_auto and not test_Riehle_et_al_97_UE and not test_multitaper_psd_against_nitime and not test_WPLI_ and not test_victor_purpura_matlab_comparison_"
%endif
# serial
diff --git a/sources b/sources
index 7fee34b..213653b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (elephant-0.11.1.tar.gz) = 783eb3394ba80c7c96da488d75e8c2abbd0f9c32d07506c6265183c35d2558cbc9588b310a533609d1152bccfadcb705804d660b66d315496672b9821158d4c3
+SHA512 (elephant-0.12.0.tar.gz) = f076cff3029338b78ca731b0d8aca5f11a51a5eee8fff5b54d059b5ea3f9e595440b705a41bc0e00788ee5c357e0b2be1b4ac5731beb39524d824c54e447c1a3
commit 23a96785f75aac3e8056719260452264ec26a96e
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 12:57:23 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit acc7b978ca3659422ec0c95a98d40018d9320bb6
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Sun Oct 9 17:30:04 2022 +0100
feat: exclude s390x
pyedflib excludes it, so all deps need to exclude it too
diff --git a/python-elephant.spec b/python-elephant.spec
index 2f03797..d645677 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -15,6 +15,10 @@ Source0: %{pypi_source elephant}
# https://github.com/sanjayankur31/elephant/tree/fedora-0.11.1
Patch0: 0001-use-fedora-build-flags.patch
+# python-pyedflib does not support s390x, so the complete dep tree needs to also exclude it
+# https://src.fedoraproject.org/rpms/python-pyedflib/blob/rawhide/f/python-...
+ExcludeArch: s390x
+
# Includes a modified copy of fim, so we cannot use the system copy of pyfim.
# https://github.com/NeuralEnsemble/elephant/issues/471#issuecomment-109890...
commit 05ad2de12579596dfca701bd30fdc78a181122d9
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Fri Sep 9 23:17:26 2022 +0100
chore: add comment about upstream fix
diff --git a/python-elephant.spec b/python-elephant.spec
index 100bdce..2f03797 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -64,6 +64,8 @@ cat requirements/requirements-extras.txt >> requirements/requirements-tests.txt
%check
# One test fails generally: reported upstream
# https://github.com/NeuralEnsemble/elephant/issues/410
+# Fixed upstream (but Fedora dropped armv7hl support in F37)
+# https://github.com/NeuralEnsemble/elephant/pull/500
#k="not test__UE_surrogate"
# fails on aarch64
1 year, 2 months
Architecture specific change in rpms/python-fsleyes.git
by githook-noreply@fedoraproject.org
The package rpms/python-fsleyes.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/python-fsleyes.git/commit/?id=a87....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 5c45703c569607609774c933d6c08ce6b8fc5d25
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 16:06:58 2023 +0000
feat: update to 1.6.1 (fixes rhbz#2171871)
diff --git a/.gitignore b/.gitignore
index 688b4a9..f393832 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@
/fsleyes-1.3.3.tar.gz
/fsleyes-1.4.1.tar.gz
/fsleyes-1.5.0.tar.gz
+/fsleyes-1.6.1.tar.gz
diff --git a/python-fsleyes.spec b/python-fsleyes.spec
index 55e1a50..29a1218 100644
--- a/python-fsleyes.spec
+++ b/python-fsleyes.spec
@@ -9,7 +9,7 @@ FSLeyes, the FSL image viewer
%global forgeurl https://github.com/pauldmccarthy/fsleyes
Name: python-fsleyes
-Version: 1.5.0
+Version: 1.6.1
Release: %autorelease
Summary: FSLeyes, the FSL image viewer
diff --git a/sources b/sources
index 8a9d589..62a8e31 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fsleyes-1.5.0.tar.gz) = cc74244ff56b66fca6ffeb10ae21dc69a0a771a1fb0fbaa6b95837cf8a25e674e7b0f81e96ce7583c22844e217f5b258ec0bd3639559de4e74e85847afdd70b7
+SHA512 (fsleyes-1.6.1.tar.gz) = a7518e54f944a68982f72bd963464f15e21f45b142de1ce7847ab23e183f3d5d4b35f7332efd393c22e0b276ef378843f183e9d3e19e8886288861b69048cde6
commit 9bc49eda2e0608943bd0b04e4423029caeb0ffee
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 13:20:32 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit a87123c1d9b4ca44d7eac6a80fa6f664aaf29943
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Wed Dec 21 13:08:31 2022 -0500
Leaf package: remove i686 support
diff --git a/python-fsleyes.spec b/python-fsleyes.spec
index fd5c290..55e1a50 100644
--- a/python-fsleyes.spec
+++ b/python-fsleyes.spec
@@ -22,6 +22,9 @@ Source0: %forgesource
BuildArch: noarch
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
%description
%{desc}
1 year, 2 months
Architecture specific change in rpms/python-elephant.git
by githook-noreply@fedoraproject.org
The package rpms/python-elephant.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/python-elephant.git/commit/?id=db...
https://src.fedoraproject.org/cgit/rpms/python-elephant.git/commit/?id=ac....
Change:
+%ifarch %{power64}
+ExcludeArch: s390x
Thanks.
Full change:
============
commit db2d84ac50a48e100a64ba6d3762b72422e9432e
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 15:37:40 2023 +0000
fix: deselect failing tests
diff --git a/python-elephant.spec b/python-elephant.spec
index 18c748a..140d379 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -75,7 +75,12 @@ cat requirements/requirements-extras.txt >> requirements/requirements-tests.txt
# fails on aarch64
# reported upstream: https://github.com/NeuralEnsemble/elephant/issues/479
%ifarch %{arm64}
-k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_multidim_input"
+k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_multidim_input and not test_multitaper_cohere_perfect_cohere"
+%endif
+
+# fails on ppc64le
+%ifarch %{power64}
+k="${k:-}${k:+ and} not test_multitaper_cohere_perfect_cohere"
%endif
%if %{without net_tests}
commit 4e49d1c4a08cc3f1b3757ac69e63c4eae71ab319
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Mon Feb 27 14:27:35 2023 +0000
feat: update to 0.12.0 (fixes rhbz#2137931, fixes rhbz#2173307)
diff --git a/.gitignore b/.gitignore
index 6bb5da1..b02a427 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/elephant-0.10.0.tar.gz
/elephant-0.11.0.tar.gz
/elephant-0.11.1.tar.gz
+/elephant-0.12.0.tar.gz
diff --git a/0001-use-fedora-build-flags.patch b/0001-use-fedora-build-flags.patch
index 2ff702d..1f1117a 100644
--- a/0001-use-fedora-build-flags.patch
+++ b/0001-use-fedora-build-flags.patch
@@ -1,27 +1,28 @@
-From e9f4c645ae7fa05855d4a5429b7c1f2b4b65ff98 Mon Sep 17 00:00:00 2001
+From d7755ab180d819bc0e0879b5e25592fc053971e7 Mon Sep 17 00:00:00 2001
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur(a)gmail.com>
-Date: Wed, 20 Apr 2022 14:25:56 +0100
+Date: Mon, 27 Feb 2023 14:14:41 +0000
Subject: [PATCH] use fedora build flags
---
- setup.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
+ setup.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/setup.py b/setup.py
-index 7960705..ea5dd42 100644
+index a5abae0..2180c08 100644
--- a/setup.py
+++ b/setup.py
-@@ -49,9 +49,7 @@ elif platform.system() == "Linux":
- libraries=['pthread', 'gomp'],
+@@ -41,10 +41,7 @@ elif platform.system() == "Darwin":
+ libraries=['pthread', 'omp'],
extra_compile_args=[
'-DMODULE_NAME=fim', '-DUSE_OPENMP', '-DWITH_SIG_TERM',
- '-Dfim_EXPORTS', '-O3', '-pedantic', '-Wextra',
-- '-Weffc++', '-Wunused-result', '-Werror',
-- '-fopenmp', '-std=gnu++17'])
-+ '-Dfim_EXPORTS', '-Weffc++', '-fopenmp', '-std=gnu++17'])
-
- setup_kwargs = {
- "name": "elephant",
+- '-Weffc++', '-Wunused-result', '-Werror', '-Werror=return-type',
+- '-Xpreprocessor',
+- '-fopenmp', '-std=gnu++17'],
++ '-Dfim_EXPORTS', '-Weffc++', '-Xpreprocessor', '-fopenmp', '-std=gnu++17'],
+ optional=True
+ )
+ elif platform.system() == "Linux":
--
-2.37.2
+2.39.2
diff --git a/python-elephant.spec b/python-elephant.spec
index d645677..18c748a 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -5,7 +5,7 @@
%global pypi_name elephant
Name: python-elephant
-Version: 0.11.1
+Version: 0.12.0
Release: %autorelease
Summary: Elephant is a package for analysis of electrophysiology data in Python
License: BSD
@@ -80,7 +80,7 @@ k="${k:-}${k:+ and }not test_welch_psd_multidim_input and not test_welch_cohere_
%if %{without net_tests}
# Disable tests that download bits
-k="${k:-}${k:+ and }not test_repr and not test__UE_surrogate and not test_spike_contrast_with_Izhikevich_network_auto and not test_Riehle_et_al_97_UE and not test_multitaper_psd_against_nitime"
+k="${k:-}${k:+ and }not test_repr and not test__UE_surrogate and not test_spike_contrast_with_Izhikevich_network_auto and not test_Riehle_et_al_97_UE and not test_multitaper_psd_against_nitime and not test_WPLI_ and not test_victor_purpura_matlab_comparison_"
%endif
# serial
diff --git a/sources b/sources
index 7fee34b..213653b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (elephant-0.11.1.tar.gz) = 783eb3394ba80c7c96da488d75e8c2abbd0f9c32d07506c6265183c35d2558cbc9588b310a533609d1152bccfadcb705804d660b66d315496672b9821158d4c3
+SHA512 (elephant-0.12.0.tar.gz) = f076cff3029338b78ca731b0d8aca5f11a51a5eee8fff5b54d059b5ea3f9e595440b705a41bc0e00788ee5c357e0b2be1b4ac5731beb39524d824c54e447c1a3
commit 23a96785f75aac3e8056719260452264ec26a96e
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 12:57:23 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit acc7b978ca3659422ec0c95a98d40018d9320bb6
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Sun Oct 9 17:30:04 2022 +0100
feat: exclude s390x
pyedflib excludes it, so all deps need to exclude it too
diff --git a/python-elephant.spec b/python-elephant.spec
index 2f03797..d645677 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -15,6 +15,10 @@ Source0: %{pypi_source elephant}
# https://github.com/sanjayankur31/elephant/tree/fedora-0.11.1
Patch0: 0001-use-fedora-build-flags.patch
+# python-pyedflib does not support s390x, so the complete dep tree needs to also exclude it
+# https://src.fedoraproject.org/rpms/python-pyedflib/blob/rawhide/f/python-...
+ExcludeArch: s390x
+
# Includes a modified copy of fim, so we cannot use the system copy of pyfim.
# https://github.com/NeuralEnsemble/elephant/issues/471#issuecomment-109890...
commit 05ad2de12579596dfca701bd30fdc78a181122d9
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Fri Sep 9 23:17:26 2022 +0100
chore: add comment about upstream fix
diff --git a/python-elephant.spec b/python-elephant.spec
index 100bdce..2f03797 100644
--- a/python-elephant.spec
+++ b/python-elephant.spec
@@ -64,6 +64,8 @@ cat requirements/requirements-extras.txt >> requirements/requirements-tests.txt
%check
# One test fails generally: reported upstream
# https://github.com/NeuralEnsemble/elephant/issues/410
+# Fixed upstream (but Fedora dropped armv7hl support in F37)
+# https://github.com/NeuralEnsemble/elephant/pull/500
#k="not test__UE_surrogate"
# fails on aarch64
1 year, 2 months