diff --git a/.gitignore b/.gitignore index 365ce58..07f801d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /fpcbuild-3.2.2.tar.gz +/fpc-3.2.2-bin.zip diff --git a/fpc.spec b/fpc.spec index 4ee25d3..e25aa33 100644 --- a/fpc.spec +++ b/fpc.spec @@ -1,9 +1,5 @@ -%ifarch aarch64 -# Bootstrap the compiler for a new architecture. Set this to 0 after we've bootstrapped. -%global bootstrap 0 -%else -%global bootstrap 0 -%endif +# Bootstrap the compiler for EPEL9. +%global bootstrap 1 # As of 2022-08-17, on EPEL9, tex(imakeidx.sty) is not available. %define with_pdfdoc 0 @@ -18,22 +14,32 @@ URL: http://www.freepascal.org/ Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/fpcbuild-%{version}.tar.gz # This is only needed when we're bootstrapping. -# 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 we're bootstrapping for any target -# -# Last used for aaarch64 and ppc64le bootstrap. -# For the aarch64 bootstrap, a compiler has been used that has been cross-compiled on a x86_64 system using: -# make all CPU_TARGET=aarch64 OS_TARGET=linux BINUTILSPREFIX=aarch64-linux-gnu- -# For the ppc64 boostrap, a compiler has been used that has been cross-compiled on a x86_64 system using: -# make all CPU_TARGET=powerpc64 OS_TARGET=linux BINUTILSPREFIX=powerpc64le-linux-gnu- CROSSOPT="-Cb- -Caelfv2" # -# in the main directory of fpc-r44016. The compilers were then copied using: -# cp compiler/ppca64 ~/fpc-3.2.0-bin/ppca64-3.2.0-bootstrap -# cp compiler/ppcppc64 ~/fpc-3.2.0-bin/ppcppc64-3.2.0-bootstrap -# The zip file was then created using: -# zip -9 fpc-3.2.0-bin.zip -r fpc-3.2.0-bin/ +# Last used for bootstrapping the compiler for EPEL9. +# To perform this bootstrap, the following Fedora Rawhide RPMs were downloaded: +# - fpc-3.2.2-7.fc37.aarch64.rpm +# - fpc-3.2.2-7.fc37.ppc64le.rpm +# - fpc-3.2.2-7.fc37.x86_64.rpm +# Next, the compilers were extracted from the RPMs and zipped. # -# Source100: https://suve.fedorapeople.org/fpc-3.2.0-bin--patch0.zip +# You can recreate this process by using the following commands: +# $ wget https://kojipkgs.fedoraproject.org/packages/fpc/3.2.2/7.fc37/aarch64/fpc-3.2.2-7.fc37.aarch64.rpm +# $ wget https://kojipkgs.fedoraproject.org/packages/fpc/3.2.2/7.fc37/ppc64le/fpc-3.2.2-7.fc37.ppc64le.rpm +# $ wget https://kojipkgs.fedoraproject.org/packages/fpc/3.2.2/7.fc37/x86_64/fpc-3.2.2-7.fc37.x86_64.rpm +# $ mkdir fpc-3.2.2-bin/ rpm-contents/ +# $ for ARCH in aarch64 ppc64le x86_64; do +# $ pushd rpm-contents +# $ rpm2cpio "../fpc-3.2.2-7.fc37.${ARCH}.rpm" | cpio -idmv +# $ popd +# $ cp rpm-contents/usr/bin/ppc* fpc-3.2.2-bin/ +# $ done +# $ for FILE in fpc-3.2.2-bin/*; do +# $ mv "${FILE}" "${FILE}-3.2.2-bootstrap"; +# $ done +# $ zip -9 fpc-3.2.2-bin.zip -r fpc-3.2.2-bin/ +%if 0%{?bootstrap} +Source100: https://suve.fedorapeople.org/epel9/fpc-3.2.2-bin.zip +%endif # Configuration templates: Source10: fpc.cft @@ -291,6 +297,7 @@ rm -rf %{buildroot}/usr/lib/%{name}/lexyacc %changelog * Wed Aug 17 2022 Artur Frenszek-Iwicki - 3.2.2-8 +- Bootstrap the compiler for EPEL9 - Disable building .pdf documentation (missing dependencies on EPEL9) * Thu Jul 21 2022 Fedora Release Engineering - 3.2.2-7 diff --git a/sources b/sources index 82b8b4f..706a724 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (fpcbuild-3.2.2.tar.gz) = 75889bb54adc70a6e2cbd291476b9b12d61c8f943a05b7d16d2024de3215c935465ff43b1400c412e128e260c7f49a9c66e35c21f86cb866e671b5b60a282d82 +SHA512 (fpc-3.2.2-bin.zip) = 24a299fa05faf0fe0a38d98da421dbaf7ea0c5f841024f3bb4d12d45ef573b52bd2ec62448e0d75c161458f7892895ece4f4dacd6d8746b00794386af92aa2d3