|
|
|
@ -23,13 +23,10 @@
|
|
|
|
|
## SUCH DAMAGE. |
|
|
|
|
## |
|
|
|
|
|
|
|
|
|
# FIXME: with_bounds broken until updated version is released |
|
|
|
|
|
|
|
|
|
# package version |
|
|
|
|
%define V_full 3.4.0 |
|
|
|
|
%define V_comp %nil |
|
|
|
|
%define V_bounds 3.3.3-1.00 |
|
|
|
|
%define V_ssp 3.4-1 |
|
|
|
|
%define V_ssp 3.4-2 |
|
|
|
|
|
|
|
|
|
# package information |
|
|
|
|
Name: gcc |
|
|
|
@ -42,7 +39,7 @@ Class: CORE
|
|
|
|
|
Group: Compiler |
|
|
|
|
License: GPL |
|
|
|
|
Version: %{V_full} |
|
|
|
|
Release: 20040530 |
|
|
|
|
Release: 20040608 |
|
|
|
|
|
|
|
|
|
# package options |
|
|
|
|
%option with_cxx yes |
|
|
|
@ -53,20 +50,13 @@ Release: 20040530
|
|
|
|
|
%option with_profile no |
|
|
|
|
%option with_binutils yes |
|
|
|
|
%option with_threads yes |
|
|
|
|
%option with_bounds no |
|
|
|
|
%option with_ssp no |
|
|
|
|
%option with_gcc no |
|
|
|
|
|
|
|
|
|
# options sanity check |
|
|
|
|
%if "%{with_bounds}" == "yes" && "%{with_ssp}" == "yes" |
|
|
|
|
%{error:build-time options 'with_bounds' and 'with_ssp' conflict} |
|
|
|
|
%endif |
|
|
|
|
|
|
|
|
|
# list of sources |
|
|
|
|
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2 |
|
|
|
|
Patch0: gcc.patch |
|
|
|
|
Patch1: http://web.inter.nl.net/hcc/Haj.Ten.Brugge/bounds-checking-gcc-%{V_bounds}.patch.bz2 |
|
|
|
|
Patch2: http://www.trl.ibm.com/projects/security/ssp/gcc3_4/protector-%{V_ssp}.tar.gz |
|
|
|
|
Patch1: http://www.trl.ibm.com/projects/security/ssp/gcc3_4/protector-%{V_ssp}.tar.gz |
|
|
|
|
|
|
|
|
|
# build information |
|
|
|
|
Prefix: %{l_prefix} |
|
|
|
@ -95,11 +85,6 @@ Provides: gcc = %{version}-%{release}
|
|
|
|
|
url = ftp://gcc.gnu.org/pub/gcc/releases/gcc-__NEWVER__/ |
|
|
|
|
regex = gcc-(__VER__)\.tar\.bz2 |
|
|
|
|
} |
|
|
|
|
prog gcc:bounds = { |
|
|
|
|
version = %{V_bounds} |
|
|
|
|
url = http://web.inter.nl.net/hcc/Haj.Ten.Brugge/ |
|
|
|
|
regex = bounds-checking-gcc-(__VER__).patch.bz2 |
|
|
|
|
} |
|
|
|
|
prog gcc:spp = { |
|
|
|
|
version = %{V_ssp} |
|
|
|
|
url = http://www.trl.ibm.com/projects/security/ssp/ |
|
|
|
@ -109,13 +94,9 @@ Provides: gcc = %{version}-%{release}
|
|
|
|
|
%prep |
|
|
|
|
%setup -q |
|
|
|
|
%patch -p0 |
|
|
|
|
%if "%{with_bounds}" == "yes" |
|
|
|
|
%patch -p1 -P 1 |
|
|
|
|
%endif |
|
|
|
|
%if "%{with_ssp}" == "yes" |
|
|
|
|
( cd gcc |
|
|
|
|
%{l_gzip} -d -c %{PATCH protector-%{V_ssp}.tar.gz} | %{l_tar} xf - |
|
|
|
|
%{l_patch} -p1 <protector.dif ) || exit $? |
|
|
|
|
%{l_gzip} -d -c %{PATCH protector-%{V_ssp}.tar.gz} | %{l_tar} xf - |
|
|
|
|
%{l_patch} -p0 <protector.dif |
|
|
|
|
%endif |
|
|
|
|
%{l_shtool} subst -v -s \ |
|
|
|
|
-e 's;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g' \ |
|
|
|
|