- Drop fpc-2.2.4-stackexecute.patch since bug was fixed in 2.4.0
Tue May 4 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 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.
This commit is contained in:
parent
095296864b
commit
b1f3e84379
@ -1 +1 @@
|
||||
fpcbuild-2.2.4.tar.gz
|
||||
fpcbuild-2.4.0.tar.gz
|
||||
|
@ -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
|
@ -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
|
||||
# -----------------------
|
||||
|
54
fpc.spec
54
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 <joost@cnoc.nl> - 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 <jan.kratochvil@redhat.com> - 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 <joost@cnoc.nl> 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)
|
||||
|
Loading…
Reference in New Issue
Block a user