Custom-gcc: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
<b>custom-gcc</b><i><version></i> - вариант пакета <i>gcc<version></i>, который может быть использован в ветвях Sisyphus, основная версия <i>gcc</i> которых не соответствует требованиям, которые предъявляются пакетом, собираемым в данную ветвь, т.е. <i>custom-gcc</i> имеет большую версию чем самый новый <i>gcc</i> данной ветви. | <b>custom-gcc</b><i><version></i> - вариант пакета <i>gcc<version></i>, который может быть использован в ветвях Sisyphus, основная версия <i>gcc</i> которых не соответствует требованиям, которые предъявляются пакетом, собираемым в данную ветвь, т.е. <i>custom-gcc</i> имеет большую версию чем самый новый <i>gcc</i> данной ветви. | ||
== Требуемые изменения spec-файла собираемого пакета == | |||
# Удалить все упоминания <i>gcc*</i> (<i>gcc</i>, <i>gcc-c++</i> и пр.); | |||
# Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 - здесь и далее):<source> | |||
BuildRequires: custom-gcc5-c++ | |||
%define psuffix -5 | |||
%define __cc %_bindir/gcc%psuffix | |||
%define __cxx %_bindir/g++%psuffix | |||
</source> | |||
# При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости:<source> | |||
Requires: custom-libgcc1 >= 5 | |||
Requires: custom-libstdc++6 >= 5 | |||
</source> | |||
# Добавить в секцию <i>%build</i> указание используемых компиляторов:<source> | |||
export CC="%__cc" | |||
export CXX="%__cxx" | |||
</source> | |||
# При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать путь к каталогу, в котором они все расположены (%_libdir/custom-gcc/):<source> | |||
export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/" | |||
</source> | |||
[[Категория:Packaging]] | [[Категория:Packaging]] |
Версия от 17:12, 22 ноября 2018
custom-gcc<version> - вариант пакета gcc<version>, который может быть использован в ветвях Sisyphus, основная версия gcc которых не соответствует требованиям, которые предъявляются пакетом, собираемым в данную ветвь, т.е. custom-gcc имеет большую версию чем самый новый gcc данной ветви.
Требуемые изменения spec-файла собираемого пакета
- Удалить все упоминания gcc* (gcc, gcc-c++ и пр.);
- Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 - здесь и далее):
BuildRequires: custom-gcc5-c++ %define psuffix -5 %define __cc %_bindir/gcc%psuffix %define __cxx %_bindir/g++%psuffix
- При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости:
Requires: custom-libgcc1 >= 5 Requires: custom-libstdc++6 >= 5
- Добавить в секцию %build указание используемых компиляторов:
export CC="%__cc" export CXX="%__cxx"
- При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать путь к каталогу, в котором они все расположены (%_libdir/custom-gcc/):
export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/"