From b1f3e843797ad4386719a0700551936a8b77b170 Mon Sep 17 00:00:00 2001 From: Joost van der Sluis Date: Wed, 5 May 2010 18:51:21 +0000 Subject: [PATCH] - Drop fpc-2.2.4-stackexecute.patch since bug was fixed in 2.4.0 Tue May 4 2010 Jan Kratochvil - 2.4.0-0.fc14 - Upgrade to upstream release 2.4.0. - Drop fpc-2.2.4-r12475.patch as present in 2.4.0. - Base the .spec build on upstream released archive (fpcbuild-2.4.0.tar.gz). - Remove the obsolete .spec BuildRoot tag. - Remove BuildRequires for binutils and glibc-devel as guaranteed as always provided in Fedora Packaging Guidlines. - Remove Requires glibc as guaranteed on a Fedora system. - Add %%{?_smp_mflags} and -j1 appropriately, applied one -j1 workaround. - Change {compiler,rtl}/COPYING to COPYING.txt. --- .cvsignore | 2 +- fpc-2.2.4-r12475.patch | 44 ----------------------------- fpc-2.2.4-stackexecute.patch | 16 ----------- fpc.spec | 54 +++++++++++++++++++++--------------- sources | 2 +- 5 files changed, 34 insertions(+), 84 deletions(-) delete mode 100644 fpc-2.2.4-r12475.patch delete mode 100644 fpc-2.2.4-stackexecute.patch diff --git a/.cvsignore b/.cvsignore index 748ecb6..693a633 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -fpcbuild-2.2.4.tar.gz +fpcbuild-2.4.0.tar.gz diff --git a/fpc-2.2.4-r12475.patch b/fpc-2.2.4-r12475.patch deleted file mode 100644 index 31b2946..0000000 --- a/fpc-2.2.4-r12475.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: fpcsrc/compiler/powerpc/cpupara.pas -=================================================================== ---- fpcsrc/compiler/powerpc/cpupara.pas (revision 12474) -+++ fpcsrc/compiler/powerpc/cpupara.pas (revision 12475) -@@ -130,7 +130,12 @@ - result:=LOC_REGISTER; - classrefdef: - result:=LOC_REGISTER; -- procvardef, -+ procvardef: -+ if (target_info.abi = abi_powerpc_aix) or -+ (p.size = sizeof(pint)) then -+ result:=LOC_REGISTER -+ else -+ result:=LOC_REFERENCE; - recorddef: - if (target_info.abi<>abi_powerpc_aix) or - ((p.size >= 3) and -@@ -181,8 +186,24 @@ - variantdef, - formaldef : - result:=true; -- recorddef, -+ { regular procvars must be passed by value, because you cannot pass -+ the address of a local stack location when calling e.g. -+ pthread_create with the address of a function (first of all it -+ expects the address of the function to execute and not the address -+ of a memory location containing that address, and secondly if you -+ first store the address on the stack and then pass the address of -+ this stack location, then this stack location may no longer be -+ valid when the newly started thread accesses it. -+ -+ However, for "procedure of object" we must use the same calling -+ convention as for "8 byte record" due to the need for -+ interchangeability with the TMethod record type. -+ } - procvardef : -+ result:= -+ (target_info.abi <> abi_powerpc_aix) and -+ (def.size <> sizeof(pint)); -+ recorddef : - result := - (target_info.abi<>abi_powerpc_aix) or - ((varspez = vs_const) and diff --git a/fpc-2.2.4-stackexecute.patch b/fpc-2.2.4-stackexecute.patch deleted file mode 100644 index a920da2..0000000 --- a/fpc-2.2.4-stackexecute.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: fpcsrc/compiler/utils/samplecfg -=================================================================== ---- fpcsrc/compiler/utils/samplecfg (version 2.2.4) -+++ fpcsrc/compiler/utils/samplecfg (working copy) -@@ -372,6 +372,11 @@ - -k--build-id - - # ----------------------- -+# Do not mark executables as requiring an executable stack (fpc-bug #11563) -+# ----------------------- -+-k-z noexecstack -+ -+# ----------------------- - # Set Filenames and Paths - # ----------------------- - diff --git a/fpc.spec b/fpc.spec index 9c50c51..3658c7d 100644 --- a/fpc.spec +++ b/fpc.spec @@ -1,27 +1,24 @@ Name: fpc -Version: 2.2.4 -Release: 4%{?dist} +Version: 2.4.0 +Release: 1%{?dist} Summary: Free Pascal Compiler Group: Development/Languages License: GPLv2+ and LGPLv2+ with exceptions URL: http://www.freepascal.org/ -Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz +Source0: ftp://ftp.freepascal.org/pub/fpc/dist/${version}/source/fpcbuild-%{version}.tar.gz # This is only needed when useprebuiltcompiler is defined. # But it's not in an 'if defined' block, since the file has to be included in the srpm # Thus you should enable this line when useprebuildcompiler is defined for any target # Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz -Patch0: %{name}-%{version}-samplecfg_32and64bit.patch -Patch1: %{name}-%{version}-build-id.patch -Patch2: %{name}-%{version}-stackexecute.patch -Patch3: %{name}-%{version}-r12475.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch0: fpc-2.2.4-samplecfg_32and64bit.patch +Patch1: fpc-2.2.4-build-id.patch -Requires: gpm, glibc, ncurses, binutils +Requires: gpm, ncurses, binutils %if ! %{defined useprebuiltcompiler} BuildRequires: fpc %endif -BuildRequires: tetex, tetex-latex, tetex-fonts, binutils, glibc-devel +BuildRequires: tetex, tetex-latex, tetex-fonts ExcludeArch: s390 s390x @@ -76,8 +73,6 @@ automatical-code generation purposes. %endif %patch0 %patch1 -%patch2 -%patch3 %build # The source-files: @@ -92,26 +87,27 @@ STARTPP=`pwd`/startcompiler/%{ppcname} %else STARTPP=%{ppcname} %endif -%define fpcopt -k"--build-id -z noexecstack" +%define fpcopt -k"--build-id" cd fpcsrc NEWPP=`pwd`/compiler/%{ppcname} NEWFPDOC=`pwd`/utils/fpdoc/fpdoc DATA2INC=`pwd`/utils/data2inc -make compiler_cycle FPC=${STARTPP} OPT='%{fpcopt} %{fpcdebugopt}' -make rtl_clean rtl%{smart} FPC=${NEWPP} OPT='%{fpcopt}' -make packages%{smart} FPC=${NEWPP} OPT='%{fpcopt}' -make ide_all FPC=${NEWPP} OPT='%{fpcopt} %{fpcdebugopt}' -make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT='%{fpcopt} %{fpcdebugopt}' +make %{?_smp_mflags} compiler_cycle FPC=${STARTPP} OPT='%{fpcopt} %{fpcdebugopt}' +make %{?_smp_mflags} rtl_clean rtl%{smart} FPC=${NEWPP} OPT='%{fpcopt}' +make %{?_smp_mflags} packages%{smart} FPC=${NEWPP} OPT='%{fpcopt}' +make %{?_smp_mflags} ide_all FPC=${NEWPP} OPT='%{fpcopt} %{fpcdebugopt}' +make %{?_smp_mflags} utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT='%{fpcopt} %{fpcdebugopt}' cd .. -make -C fpcdocs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC} +# FIXME: -j1 as there is a race - seen on "missing" `rtl.xct'. +make -j1 -C fpcdocs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC} %install rm -rf %{buildroot} cd fpcsrc FPCMAKE=`pwd`/utils/fpcm/fpcmake NEWPP=`pwd`/compiler/%{ppcname} -INSTALLOPTS="FPC=${NEWPP} FPCMAKE=${FPCMAKE} \ +INSTALLOPTS="-j1 FPC=${NEWPP} FPCMAKE=${FPCMAKE} \ INSTALL_PREFIX=%{buildroot}%{_prefix} \ INSTALL_LIBDIR=%{buildroot}%{_libdir} \ INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \ @@ -137,8 +133,8 @@ ln -sf ../%{_lib}/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname %{buildroot}/%{_libdir}/%{name}/%{version}/samplecfg %{_exec_prefix} %{buildroot}%{_sysconfdir} %{buildroot}%{_exec_prefix} # Include the COPYING-information for the compiler/rtl/fcl in the documentation -cp -a fpcsrc/compiler/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING -cp -a fpcsrc/rtl/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.rtl +cp -a fpcsrc/compiler/COPYING.txt %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING +cp -a fpcsrc/rtl/COPYING.txt %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.rtl cp -a fpcsrc/rtl/COPYING.FPC %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.FPC # The source-files: @@ -177,6 +173,20 @@ rm -rf %{buildroot} %{_datadir}/fpcsrc %changelog +* Wed May 5 2010 Joost van der Sluis - 2.4.0-1.fc14 +- Drop fpc-2.2.4-stackexecute.patch since bug was fixed in 2.4.0 + +* Tue May 4 2010 Jan Kratochvil - 2.4.0-0.fc14 +- Upgrade to upstream release 2.4.0. + - Drop fpc-2.2.4-r12475.patch as present in 2.4.0. +- Base the .spec build on upstream released archive (fpcbuild-2.4.0.tar.gz). +- Remove the obsolete .spec BuildRoot tag. +- Remove BuildRequires for binutils and glibc-devel as guaranteed as always + provided in Fedora Packaging Guidlines. +- Remove Requires glibc as guaranteed on a Fedora system. +- Add %%{?_smp_mflags} and -j1 appropriately, applied one -j1 workaround. +- Change {compiler,rtl}/COPYING to COPYING.txt. + * Tue Oct 6 2009 Joost van der Sluis 2.2.4-4 - fixed procvar parameter passing on ppc/sysv (by value instead of by reference -- except for method procvars, for tmethod record compatibility) diff --git a/sources b/sources index 10a364f..1a33b8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -20bb9a4a9f1449e2249c80d7aba7c245 fpcbuild-2.2.4.tar.gz +af49e9a8bb632f361395add30ece8934 fpcbuild-2.4.0.tar.gz