Files
kbuild-gcc/kbuild-gcc.spec

142 lines
4.6 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package kbuild-gcc
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define mainline_gcc 15
Name: kbuild-gcc
Version: 0
Release: 0
Summary: metapackage for installing gcc compilers required by kbuild
License: MIT
BuildRequires: cross-aarch64-binutils
BuildRequires: cross-aarch64-gcc48
BuildRequires: cross-aarch64-gcc7
BuildRequires: cross-aarch64-gcc13-bootstrap
BuildRequires: cross-aarch64-gcc%{mainline_gcc}-bootstrap
BuildRequires: cross-arm-binutils
BuildRequires: cross-armv7hl-gcc48
BuildRequires: cross-arm-gcc7
BuildRequires: cross-arm-gcc13
BuildRequires: cross-arm-gcc%{mainline_gcc}
BuildRequires: cross-ppc64le-binutils
BuildRequires: cross-ppc64le-gcc48
BuildRequires: cross-ppc64le-gcc7
BuildRequires: cross-ppc64le-gcc13-bootstrap
BuildRequires: cross-ppc64le-gcc%{mainline_gcc}-bootstrap
BuildRequires: cross-s390x-binutils
BuildRequires: cross-s390x-gcc48
BuildRequires: cross-s390x-gcc7
BuildRequires: cross-s390x-gcc13-bootstrap
BuildRequires: cross-s390x-gcc%{mainline_gcc}-bootstrap
BuildRequires: gcc%{mainline_gcc}
BuildRequires: gcc%{mainline_gcc}-c++
Requires: bc
Requires: bison
Requires: dwarves
Requires: suse-kabi-tools
Requires: pkgconfig(libtraceevent)
Requires: cross-aarch64-binutils
Requires: cross-aarch64-gcc48
Requires: cross-aarch64-gcc7
Requires: cross-aarch64-gcc13-bootstrap
Requires: cross-aarch64-gcc%{mainline_gcc}-bootstrap
Requires: cross-arm-binutils
Requires: cross-armv7hl-gcc48
Requires: cross-arm-gcc7
Requires: cross-arm-gcc13
Requires: cross-arm-gcc%{mainline_gcc}
Requires: cross-ppc64le-binutils
Requires: cross-ppc64le-gcc48
Requires: cross-ppc64le-gcc7
Requires: cross-ppc64le-gcc13-bootstrap
Requires: cross-ppc64le-gcc%{mainline_gcc}-bootstrap
Requires: cross-s390x-binutils
Requires: cross-s390x-gcc48
Requires: cross-s390x-gcc7
Requires: cross-s390x-gcc13-bootstrap
Requires: cross-s390x-gcc%{mainline_gcc}-bootstrap
Requires: flex
Requires: gcc48
Requires: gcc48-c++
Requires: gcc7
Requires: gcc7-c++
Requires: gcc13
Requires: gcc13-c++
Requires: gcc%{mainline_gcc}
Requires: gcc%{mainline_gcc}-c++
Requires: git-core
Requires: libelf-devel
Requires: libopenssl-1_1-devel
Requires: make
Requires: boottest-ramdisk-12
Requires: boottest-ramdisk-15
# Requires: boottest-ramdisk-16 # 15.5 and later packages cannot be extracted by SLE12 rpm
ExclusiveArch: x86_64
%description
%prep
%build
%install
mkdir -p %{buildroot}%{_bindir}
# unify arm crosscompiler architecture name
for i in %{_bindir}/armv7hl-suse-linux-gnueabi-*-4.8 ; do
j=$(echo $i | sed -e 's/armv7hl-/arm-/')
ln -s $(basename $i) %{buildroot}$j
done
# allow to leave out -gnueabi from arm cross-compilers
for i in {%{buildroot},}%{_bindir}/arm-suse-linux-gnueabi-* ; do
j=$(echo $i | sed -e 's/-gnueabi//' -e "s|%{buildroot}||")
ln -s $(basename $i) %{buildroot}$j
done
# gcc-4.8 cross-compilers
mkdir -p %{buildroot}%{_bindir}/gcc48
for i in {%{buildroot},}%{_bindir}/*-4.8; do
ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc48/"$(basename "$i" -4.8)"
done
# gcc-7 cross-compilers
mkdir -p %{buildroot}%{_bindir}/gcc7
for i in {%{buildroot},}%{_bindir}/*-7; do
ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc7/"$(basename "$i" -7)"
done
# gcc-13 cross-compilers
mkdir -p %{buildroot}%{_bindir}/gcc13
for i in {%{buildroot},}%{_bindir}/*-13; do
ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc13/"$(basename "$i" -13)"
done
mkdir -p %{buildroot}%{_bindir}/gcc-current
for i in $(ls /usr/bin/*-%{mainline_gcc} | grep -v linux); do
ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc-current/"$(basename "$i" -%{mainline_gcc})"
done
%post
%postun
%files
%{_bindir}/*
%changelog