Я це робив раніше для бібліотек, але не для створення інструментів, тому я не бачу, чому наступні не повинні працювати, крім питань бінарної сумісності, якщо ви створюєте будь-які бібліотеки. Як зазначає vitalyster, це не ідеальний підхід, і ви можете зіткнутися з проблемами, але технічно це можливо зробити так.
Так, як я це зробив, це включити пакунок (у вашому випадку GCC) у мій проект і встановити його зборку / використання у збірці (під сховищами) лише для архітектур, що не мають нової достатньої версії.
Я також хотів би поставити BuildRequires: gcc >= 4.8
у вашу специфікацію, щоб переконатися, що новіша версія була підібрана, але це не повинно бути необхідним
Приклад можна знайти в https://build.opensuse.org/project/monitor/X11:Enlightenment:Factory пакет luajit доступний лише у сховищі openSUSE: Factory , тому у мене є копія у сховищі, яке будується для всього але openSUSE: Фабрика, яка використовує ту, що надається у сховищі вище.
У вашому сховищі ви можете розгалужувати існуючий пакунок, що означає, що ви можете знайти версію gcc, яка вже доступна на платформі, і використовувати її замість створення власного.