diff --git a/gcc.changes b/gcc.changes index a02a2a9..46c37ce 100644 --- a/gcc.changes +++ b/gcc.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed May 7 11:27:11 UTC 2025 - Richard Biener + +- Add packages for Modula-2 and Cobol. + +------------------------------------------------------------------- +Wed Mar 12 17:41:50 UTC 2025 - Richard Biener + +- Bump GCC version to 15, leave -build flavor at 13. + +------------------------------------------------------------------- +Mon Feb 24 10:32:48 UTC 2025 - Richard Biener + +- Check is_opensuse for whether plugins are enabled. + +------------------------------------------------------------------- +Mon Sep 23 16:34:29 UTC 2024 - Eugenio Paolantonio + +- Ensure every -build package conflicts and provides the non-build + counterpart (related to boo#1230628) + +------------------------------------------------------------------- +Wed Aug 7 14:06:50 UTC 2024 - Richard Biener + +- Make gcc-build-fortran provide and conflict gcc-fortran. + ------------------------------------------------------------------- Thu Aug 1 10:53:40 UTC 2024 - Richard Biener diff --git a/gcc.spec b/gcc.spec index 5659ae1..af909f3 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,7 +1,7 @@ # -# spec file +# spec file for package gcc # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,8 +24,8 @@ %define gcc_suffix 13 %else %define gccsuffix %{nil} -%define gcc_version 14 -%define gcc_suffix 14 +%define gcc_version 15 +%define gcc_suffix 15 %endif Name: gcc%{gccsuffix} @@ -53,6 +53,16 @@ Name: gcc%{gccsuffix} %else %define build_d 0 %endif +%define build_m2 1 +%ifarch x86_64 aarch64 ppc64le riscv64 +%if %{gcc_version} >= 15 && %{suse_version} >= 1699 +%define build_cobol 1 +%else +%define build_cobol 0 +%endif +%else +%define build_cobol 0 +%endif %define quadmath_arch %ix86 x86_64 ia64 ppc64le %define libgccjit_sover 0 @@ -80,6 +90,12 @@ BuildRequires: gcc%{gcc_version}-ada %if %{build_d} BuildRequires: gcc%{gcc_version}-d %endif +%if %{build_m2} +BuildRequires: gcc%{gcc_version}-m2 +%endif +%if %{build_cobol} +BuildRequires: gcc%{gcc_version}-cobol +%endif Source: cpp %if "%{gccsuffix}" != "" && 0%{?is_opensuse} ExclusiveArch: do-not-build @@ -92,6 +108,10 @@ The system GNU C Compiler. Summary: The system GNU C Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-32bit = %{version} +Conflicts: gcc-32bit +%endif Requires: gcc%{gcc_version}-32bit Requires: gcc%{gccsuffix} = %{version} @@ -102,6 +122,10 @@ The system GNU C Compiler. Summary: The system GNU C Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-64bit = %{version} +Conflicts: gcc-64bit +%endif Requires: gcc%{gcc_version}-64bit Requires: gcc%{gccsuffix} = %{version} @@ -124,6 +148,10 @@ The system GNU Preprocessor. Summary: The system GNU C Compiler Plugin development files License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-devel = %{version} +Conflicts: gcc-devel +%endif Requires: gcc%{gcc_version}-devel Requires: gcc%{gccsuffix} = %{version} @@ -134,6 +162,10 @@ The system GNU C Compiler Plugin development files. Summary: The system GNU Compiler locale files License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-locale = %{version} +Conflicts: gcc-locale +%endif Requires: gcc%{gcc_version}-locale %description -n gcc%{gccsuffix}-locale @@ -143,6 +175,10 @@ The system GNU Compiler locale files. Summary: The system GNU Compiler documentation License: GFDL-1.2-only Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-info = %{version} +Conflicts: gcc-info +%endif PreReq: %{install_info_prereq} PreReq: gcc%{gcc_version}-info @@ -158,6 +194,10 @@ The system GNU Compiler documentation. + + + + # install / update the entries %post -n gcc%{gccsuffix}-info %install_info --info-dir=%{_infodir} --name=cpp --description='The GNU C preprocessor.' %{_infodir}/cpp.info.gz @@ -193,6 +233,10 @@ The system GNU C++ Compiler. Summary: The system GNU C++ Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-c++-32bit = %{version} +Conflicts: gcc-c++-32bit +%endif Requires: gcc%{gcc_version}-c++-32bit Requires: gcc%{gccsuffix}-32bit = %{version} Requires: gcc%{gccsuffix}-c++ = %{version} @@ -204,6 +248,10 @@ The system GNU C++ Compiler 32 bit support. Summary: The system GNU C++ Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-c++-64bit = %{version} +Conflicts: gcc-c++-64bit +%endif Requires: gcc%{gcc_version}-c++-64bit Requires: gcc%{gccsuffix}-64bit = %{version} Requires: gcc%{gccsuffix}-c++ = %{version} @@ -228,6 +276,10 @@ The system GNU C++ development files. Summary: The system GNU C++ 32bit development files License: GPL-3.0-only WITH GCC-exception-3.1 Group: System/Libraries +%if "%{gccsuffix}" != "" +Provides: libstdc++-devel-32bit = %{version} +Conflicts: libstdc++-devel-32bit +%endif Requires: libstdc++%{gccsuffix}-devel Requires: libstdc++6-devel-gcc%{gcc_version}-32bit @@ -238,6 +290,10 @@ The system GNU C++ 32bit development files. Summary: The system GNU C++ 64bit development files License: GPL-3.0-only WITH GCC-exception-3.1 Group: System/Libraries +%if "%{gccsuffix}" != "" +Provides: libstdc++-devel-64bit = %{version} +Conflicts: libstdc++-devel-64bit +%endif Requires: libstdc++%{gccsuffix}-devel Requires: libstdc++6-devel-gcc%{gcc_version}-64bit @@ -248,6 +304,10 @@ The system GNU C++ 64bit development files. Summary: The system GNU Fortran Compiler License: GPL-3.0-or-later Group: Development/Languages/Fortran +%if "%{gccsuffix}" != "" +Provides: gcc-fortran = %{version} +Conflicts: gcc-fortran +%endif Requires: gcc%{gcc_version}-fortran Requires: gcc%{gccsuffix} = %{version} @@ -258,6 +318,10 @@ The system GNU Fortran Compiler. Summary: The system GNU Fortran Compiler License: GPL-3.0-or-later Group: Development/Languages/Fortran +%if "%{gccsuffix}" != "" +Provides: gcc-fortran-32bit = %{version} +Conflicts: gcc-fortran-32bit +%endif Requires: gcc%{gcc_version}-fortran-32bit Requires: gcc%{gccsuffix}-fortran = %{version} @@ -268,6 +332,10 @@ The system GNU Fortran Compiler 32 bit support. Summary: The system GNU Fortran Compiler License: GPL-3.0-or-later Group: Development/Languages/Fortran +%if "%{gccsuffix}" != "" +Provides: gcc-fortran-64bit = %{version} +Conflicts: gcc-fortran-64bit +%endif Requires: gcc%{gcc_version}-fortran-64bit Requires: gcc%{gccsuffix}-fortran = %{version} @@ -278,6 +346,10 @@ The system GNU Fortran Compiler 64 bit support. Summary: The system GNU Objective C Compiler License: GPL-3.0-or-later Group: Development/Languages/Other +%if "%{gccsuffix}" != "" +Provides: gcc-objc = %{version} +Conflicts: gcc-objc +%endif Requires: gcc%{gcc_version}-objc Requires: gcc%{gccsuffix} = %{version} %ifarch ppc64 @@ -291,6 +363,10 @@ The system GNU Objective C Compiler. Summary: The system GNU Objective C Compiler License: GPL-3.0-or-later Group: Development/Languages/Other +%if "%{gccsuffix}" != "" +Provides: gcc-objc-32bit = %{version} +Conflicts: gcc-objc-32bit +%endif Requires: gcc%{gcc_version}-objc-32bit Requires: gcc%{gccsuffix}-objc = %{version} @@ -301,6 +377,10 @@ The system GNU Objective C Compiler 32 bit support. Summary: The system GNU Objective C Compiler License: GPL-3.0-or-later Group: Development/Languages/Other +%if "%{gccsuffix}" != "" +Provides: gcc-objc-64bit = %{version} +Conflicts: gcc-objc-64bit +%endif Requires: gcc%{gcc_version}-objc-64bit Requires: gcc%{gccsuffix}-objc = %{version} @@ -311,6 +391,10 @@ The system GNU Objective C Compiler 64 bit support. Summary: The system GNU Objective C++ Compiler License: GPL-3.0-or-later Group: Development/Languages/Other +%if "%{gccsuffix}" != "" +Provides: gcc-objc-c++ = %{version} +Conflicts: gcc-objc-c++ +%endif Requires: gcc%{gcc_version}-obj-c++ Requires: gcc%{gccsuffix}-objc = %{version} @@ -321,6 +405,10 @@ The system GNU Objective C++ Compiler. Summary: A default configuration to build all binaries in PIE mode License: GPL-3.0-or-later Group: Development/Languages/Other +%if "%{gccsuffix}" != "" +Provides: gcc-PIE = %{version} +Conflicts: gcc-PIE +%endif Requires: gcc%{gcc_version}-PIE %description -n gcc%{gccsuffix}-PIE @@ -333,6 +421,10 @@ space randomization (ASLR). Summary: The system GNU Ada Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-ada = %{version} +Conflicts: gcc-ada +%endif Requires: gcc%{gcc_version}-ada Requires: gcc%{gccsuffix} = %{version} @@ -343,6 +435,10 @@ The system GNU Ada Compiler. Summary: The system GNU Ada Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-ada-32bit = %{version} +Conflicts: gcc-ada-32bit +%endif Requires: gcc%{gcc_version}-ada-32bit Requires: gcc%{gccsuffix}-ada = %{version} @@ -353,6 +449,10 @@ The system GNU Ada Compiler 32 bit support. Summary: The system GNU Ada Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-ada-64bit = %{version} +Conflicts: gcc-ada-64bit +%endif Requires: gcc%{gcc_version}-ada-64bit Requires: gcc%{gccsuffix}-ada = %{version} @@ -363,10 +463,14 @@ The system GNU Ada Compiler 64 bit support. Summary: The system GNU Go Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-go = %{version} +Conflicts: gcc-go +%endif Requires: gcc%{gcc_version}-go Requires: gcc%{gccsuffix} = %{version} Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives %description -n gcc%{gccsuffix}-go The system GNU Go Compiler. @@ -375,6 +479,10 @@ The system GNU Go Compiler. Summary: The system GNU Go Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-go-32bit = %{version} +Conflicts: gcc-go-32bit +%endif Requires: gcc%{gcc_version}-go-32bit Requires: gcc%{gccsuffix}-go = %{version} @@ -385,6 +493,10 @@ The system GNU Go Compiler 32bit support. Summary: The system GNU Go Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-go-64bit = %{version} +Conflicts: gcc-go-64bit +%endif Requires: gcc%{gcc_version}-go-64bit Requires: gcc%{gccsuffix}-go = %{version} @@ -395,10 +507,12 @@ The system GNU Go Compiler 64bit support. Summary: The system GNU D Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-d = %{version} +Conflicts: gcc-d +%endif Requires: gcc%{gcc_version}-d Requires: gcc%{gccsuffix} = %{version} -Requires(post): update-alternatives -Requires(postun):update-alternatives %description -n gcc%{gccsuffix}-d The system GNU D Compiler. @@ -407,6 +521,10 @@ The system GNU D Compiler. Summary: The system GNU D Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-d-32bit = %{version} +Conflicts: gcc-d-32bit +%endif Requires: gcc%{gcc_version}-d-32bit Requires: gcc%{gccsuffix}-d = %{version} @@ -417,6 +535,10 @@ The system GNU D Compiler 32bit support. Summary: The system GNU D Compiler License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-d-64bit = %{version} +Conflicts: gcc-d-64bit +%endif Requires: gcc%{gcc_version}-d-64bit Requires: gcc%{gccsuffix}-d = %{version} @@ -427,6 +549,10 @@ The system GNU D Compiler 64bit support. Summary: Support for embedding GCC inside programs and libraries License: GPL-3.0-or-later Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: libgccjit-devel = %{version} +Conflicts: libgccjit-devel +%endif Requires: libgccjit%{libgccjit_sover}-devel-gcc%{gcc_version} %description -n libgccjit%{gccsuffix}-devel @@ -436,11 +562,71 @@ Package contains header files and documentation for GCC JIT front-end. Summary: Development files for the quadprecision math library License: LGPL-2.1-only Group: Development/Languages/Fortran +%if "%{gccsuffix}" != "" +Provides: libquadmath-devel = %{version} +Conflicts: libquadmath-devel +%endif Requires: libquadmath0-devel-gcc%{gcc_version} %description -n libquadmath%{gccsuffix}-devel Development files for the quadprecision math library. +%package -n gcc%{gccsuffix}-m2 +Summary: The system GNU Modula-2 Compiler +License: GPL-3.0-or-later +Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-m2 = %{version} +Conflicts: gcc-m2 +%endif +Requires: gcc%{gcc_version}-m2 +Requires: gcc%{gccsuffix} = %{version} + +%description -n gcc%{gccsuffix}-m2 +The system GNU Modula-2 Compiler. + +%package -n gcc%{gccsuffix}-m2-32bit +Summary: The system GNU Modula-2 Compiler 32bit support +License: GPL-3.0-or-later +Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-m2-32bit = %{version} +Conflicts: gcc-m2-32bit +%endif +Requires: gcc%{gcc_version}-m2-32bit +Requires: gcc%{gccsuffix}-m2 = %{version} + +%description -n gcc%{gccsuffix}-m2-32bit +The system GNU Modula-2 Compiler 32bit support + +%package -n gcc%{gccsuffix}-m2-64bit +Summary: The system GNU Modula-2 Compiler 64bit support +License: GPL-3.0-or-later +Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-m2-64bit = %{version} +Conflicts: gcc-m2-64bit +%endif +Requires: gcc%{gcc_version}-m2-64bit +Requires: gcc%{gccsuffix}-m2 = %{version} + +%description -n gcc%{gccsuffix}-m2-64bit +The system GNU Modula-2 Compiler 64bit support + +%package -n gcc%{gccsuffix}-cobol +Summary: The system GNU Cobol Compiler +License: GPL-3.0-or-later +Group: Development/Languages/C and C++ +%if "%{gccsuffix}" != "" +Provides: gcc-cobol = %{version} +Conflicts: gcc-cobol +%endif +Requires: gcc%{gcc_version}-cobol +Requires: gcc%{gccsuffix} = %{version} + +%description -n gcc%{gccsuffix}-cobol +The system GNU Cobol Compiler. + %prep %install @@ -463,6 +649,12 @@ for program in \ %endif %if %{build_d} gdc \ +%endif +%if %{build_m2} + gm2 \ +%endif +%if %{build_cobol} + gcobol gcobc \ %endif gcc-ar gcc-nm gcc-ranlib \ ; do @@ -481,6 +673,12 @@ for man1 in \ gccgo \ %if %{build_d} gdc \ +%endif +%if %{build_m2} + gm2 \ +%endif +%if %{build_cobol} + gcobol \ %endif ; do ln -sf $man1-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/$man1.1.gz @@ -553,7 +751,7 @@ fi %doc %{_mandir}/man1/cpp.1.gz # Plugins are only enabled for Tumbleweed -%if 0%{!?sle_version:1} +%if 0%{?is_opensuse} %files -n gcc%{gccsuffix}-devel %defattr(-,root,root) # empty - only for the dependency @@ -628,6 +826,21 @@ fi %doc %{_mandir}/man1/gdc.1.gz %endif +%if %{build_m2} +%files -n gcc%{gccsuffix}-m2 +%defattr(-,root,root) +%{_bindir}/gm2 +%doc %{_mandir}/man1/gm2.1.gz +%endif + +%if %{build_cobol} +%files -n gcc%{gccsuffix}-cobol +%defattr(-,root,root) +%{_bindir}/gcobol +%{_bindir}/gcobc +%doc %{_mandir}/man1/gcobol.1.gz +%endif + %if %{separate_bi32} %files -n gcc%{gccsuffix}-32bit @@ -665,7 +878,15 @@ fi %defattr(-,root,root) # empty - only for the dependency %endif + +%if %{build_m2} +%files -n gcc%{gccsuffix}-m2-32bit +%defattr(-,root,root) +# empty - only for the dependency %endif + +%endif + %if %{separate_bi64} %files -n gcc%{gccsuffix}-64bit @@ -704,6 +925,12 @@ fi # empty - only for the dependency %endif +%if %{build_m2} +%files -n gcc%{gccsuffix}-m2-64bit +%defattr(-,root,root) +# empty - only for the dependency +%endif + %endif %files -n libgccjit%{gccsuffix}-devel