Name: compat-gcc12 Version: 12.3.0 Release: 1%{?dist} Summary: GCC 12 toolset (C/C++) installed under /opt/gcc-12 with -12 suffix License: GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later URL: https://gcc.gnu.org/ Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz Patch0: gcc12-format-security.patch BuildRequires: bison BuildRequires: flex BuildRequires: gmp-devel BuildRequires: mpfr-devel BuildRequires: libmpc-devel BuildRequires: zlib-devel BuildRequires: isl-devel BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: binutils BuildRequires: texinfo %global _installdir /opt/gcc-12 %description GCC 12 (C and C++) toolset installed in %{_installdir} with program suffix -12, to allow side-by-side usage with the system GCC on Fedora 43 and similar. %package c++ Summary: C++ front-end for compat-gcc12 Requires: %{name} = %{version}-%{release} %description c++ C++ front-end (g++-12) and libstdc++ includes for the toolset. %package libstdc++-devel Summary: libstdc++ headers and devel files for compat-gcc12 Requires: %{name}-c++ = %{version}-%{release} %description libstdc++-devel Headers and development files from libstdc++ of GCC 12, kept under %{_installdir}. %prep %setup -q -n gcc-%{version} %patch -P 0 -p1 %build mkdir build && cd build ../configure \ --prefix=%{_installdir} \ --program-suffix=-12 \ --enable-languages=c,c++ \ --disable-multilib \ --disable-bootstrap \ --disable-libsanitizer \ --disable-werror \ --with-system-zlib make -j%{?_smp_build_ncpus:%{_smp_build_ncpus}} || make %install rm -rf %{buildroot} cd build make install DESTDIR=%{buildroot} install -d %{buildroot}%{_sysconfdir}/profile.d cat > %{buildroot}%{_sysconfdir}/profile.d/compat-gcc12.sh <<'EOF' # Enable compat-gcc12 export PATH=/opt/gcc-12/bin:$PATH export CPATH=/opt/gcc-12/include:$CPATH export LIBRARY_PATH=/opt/gcc-12/lib64:$LIBRARY_PATH export LD_LIBRARY_PATH=/opt/gcc-12/lib64:$LD_LIBRARY_PATH EOF chmod 0644 %{buildroot}%{_sysconfdir}/profile.d/compat-gcc12.sh %files %license COPYING* gcc/COPYING* %dir %{_installdir} %{_installdir}/bin/gcc-12 %{_installdir}/bin/cpp-12 %{_installdir}/libexec/gcc/* %config(noreplace) %{_sysconfdir}/profile.d/compat-gcc12.sh %files c++ %{_installdir}/bin/g++-12 %files libstdc++-devel %{_installdir}/include/c++/* %changelog * Tue Nov 04 2025 You - 12.3.0-1 - Initial compat-gcc12 toolset for Fedora 43