|
|
|
@ -6,7 +6,7 @@
|
|
|
|
|
|
|
|
|
|
Name: fpc
|
|
|
|
|
Version: 3.2.2
|
|
|
|
|
Release: 9%{?dist}
|
|
|
|
|
Release: 10%{?dist}
|
|
|
|
|
Summary: Free Pascal Compiler
|
|
|
|
|
|
|
|
|
|
License: GPLv2+ and LGPLv2+ with exceptions
|
|
|
|
@ -77,6 +77,18 @@ Patch4: fpc-3.2.2--ppc64le-toc-fixes.patch
|
|
|
|
|
# Submitted upstream: https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/185
|
|
|
|
|
Patch5: fpc-3.2.2--pas2jni-cthreads.patch
|
|
|
|
|
|
|
|
|
|
# By default, the textmode IDE installs some data files (templates, ASCII art)
|
|
|
|
|
# in the same directory as the executable (i.e. /usr/bin). This patch moves
|
|
|
|
|
# the data files inside the main FPC install directory (LIBDIR/fpc/VERSION/ide).
|
|
|
|
|
Patch6: fpc-3.2.2--fix-IDE-data-files-locations.patch
|
|
|
|
|
|
|
|
|
|
# Fix broken stack trace handling on aarch64,
|
|
|
|
|
# which could lead to crashes when an FPC-compiled program used exceptions.
|
|
|
|
|
#
|
|
|
|
|
# Backport of upstream commit:
|
|
|
|
|
# https://gitlab.com/freepascal.org/fpc/source/-/commit/ec9f7c84b46906c3ef153245044ed787eaf1d5bb
|
|
|
|
|
Patch7: fpc-3.2.2--arm64-stack-trace-crash.patch
|
|
|
|
|
|
|
|
|
|
Requires: binutils
|
|
|
|
|
Requires: gpm
|
|
|
|
|
Requires: ncurses
|
|
|
|
@ -158,6 +170,8 @@ automatical-code generation purposes.
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%global fpmakeopt %{?_smp_build_ncpus:-T %{_smp_build_ncpus}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -n fpcbuild-%{version} -q
|
|
|
|
@ -167,12 +181,14 @@ unzip %{SOURCE100}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
pushd fpcsrc
|
|
|
|
|
%patch0
|
|
|
|
|
%patch1
|
|
|
|
|
%patch2
|
|
|
|
|
%patch3 -p1
|
|
|
|
|
%patch4 -p2
|
|
|
|
|
%patch5 -p1
|
|
|
|
|
%patch -P0
|
|
|
|
|
%patch -P1
|
|
|
|
|
%patch -P2
|
|
|
|
|
%patch -P3 -p1
|
|
|
|
|
%patch -P4 -p2
|
|
|
|
|
%patch -P5 -p1
|
|
|
|
|
%patch -P6 -p2
|
|
|
|
|
%patch -P7 -p1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
@ -194,9 +210,10 @@ NEWPP=$(pwd)/compiler/%{ppcname}
|
|
|
|
|
DATA2INC=$(pwd)/utils/data2inc
|
|
|
|
|
# FIXME: -j1 as there is a race on armv7hl - seen on "missing" `prt0.o' and 'dllprt0.o'.
|
|
|
|
|
make -j1 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} utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT='%{fpcopt} %{fpcdebugopt}'
|
|
|
|
|
# No -j here as it has no effect. Parallel compilation is controlled via FPMAKEOPT
|
|
|
|
|
make rtl_clean rtl%{smart} FPC=${NEWPP} OPT='%{fpcopt}' FPMAKEOPT='%{fpmakeopt}'
|
|
|
|
|
make packages%{smart} FPC=${NEWPP} OPT='%{fpcopt}' FPMAKEOPT='%{fpmakeopt}'
|
|
|
|
|
make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT='%{fpcopt} %{fpcdebugopt}' FPMAKEOPT='%{fpmakeopt}'
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
# FIXME: -j1 as there is a race - seen on "missing" `rtl.xct'.
|
|
|
|
@ -296,6 +313,11 @@ rm -rf %{buildroot}/usr/lib/%{name}/lexyacc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Wed Aug 14 2024 Artur Frenszek-Iwicki <fedora@svgames.pl> - 3.2.2-10
|
|
|
|
|
- Add a patch to fix IDE-related non-executable files being installed to /usr/bin
|
|
|
|
|
- Add a patch to fix broken stack trace handling on aarch64
|
|
|
|
|
- Use FPMAKEOPT for parallel compilation
|
|
|
|
|
|
|
|
|
|
* Wed Aug 17 2022 Artur Frenszek-Iwicki <fedora@svgames.pl> - 3.2.2-9
|
|
|
|
|
- Rebuild the compiler after bootstrapping
|
|
|
|
|
|
|
|
|
|