202 lines
5.8 KiB
RPMSpec
202 lines
5.8 KiB
RPMSpec
Name: fpc
|
|
Version: 3.2.2
|
|
Release: 2mamba
|
|
Summary: A Turbo Pascal 7.0 and Delphi compatible 32bit Pascal Compiler
|
|
Group: Applications/Development
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
|
URL: https://www.freepascal.org/
|
|
Source: http://downloads.sourceforge.net/project/freepascal/Source/%{version}/fpcbuild-%{version}.zip
|
|
Patch0: fpc-3.2.2-fix-lib-paths-on-aarch64.patch
|
|
Patch1: fpc-3.2.2-glibc-2.34.patch
|
|
License: GPL
|
|
## AUTOBUILDREQ-BEGIN
|
|
BuildRequires: glibc-devel
|
|
## AUTOBUILDREQ-END
|
|
BuildRequires: dos2unix
|
|
Requires(post): %{__install_info}
|
|
Requires(preun): %{__install_info}
|
|
|
|
%description
|
|
Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target multiple processor architectures: Intel x86, AMD64/x86-64, PowerPC, PowerPC64, SPARC, and ARM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS, Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and Nintendo Wii. Additionally, support for the JVM, MIPS (big and little endian variants), i8086, Motorola 68k and AArch64 architectures is available in the development versions.
|
|
|
|
%package src
|
|
Summary: Free Pascal Compiler - sources
|
|
Group: Development/Libraries
|
|
|
|
%description src
|
|
The fpc-src package contains the sources of Free Pascal, for documentation or automatical-code generation purposes.
|
|
|
|
%debug_package
|
|
|
|
%prep
|
|
%setup -q -n %{name}build-%{version}
|
|
#-D -T
|
|
#:<< _EOF
|
|
cd fpcsrc
|
|
dos2unix -R compiler/systems/t_linux.pas
|
|
dos2unix -R rtl/linux/*/*
|
|
%patch 0 -p0 -b .fix-lib-paths-on-aarch64
|
|
%patch 1 -p1 -b .glibc-2.34
|
|
cd ..
|
|
|
|
if [ ! -e %{_bindir}/fpc ]; then
|
|
# bootstrap
|
|
%ifarch %{ix86}
|
|
BINARY_ARCH=i386
|
|
%else
|
|
BINARY_ARCH=%{_target_cpu}
|
|
%endif
|
|
BINARY_SRC="https://downloads.sourceforge.net/project/freepascal/Linux/%{version}/fpc-%{version}.${BINARY_ARCH}-linux.tar"
|
|
curl -L $BINARY_SRC -o fpc.tar
|
|
tar xf fpc.tar
|
|
mv fpc-%{version}.$BINARY_ARCH-linux bootstrap
|
|
cd bootstrap
|
|
echo `pwd`/../bootstrap | ./install.sh
|
|
cd ..
|
|
fi
|
|
|
|
dos2unix ./fpcsrc/compiler/utils/samplecfg
|
|
dos2unix ./install/beos/samplecfg
|
|
|
|
%build
|
|
#:<< _EOF
|
|
# Save the source-files
|
|
mkdir -p fpc_src
|
|
cp -a fpcsrc/rtl fpc_src
|
|
cp -a fpcsrc/packages fpc_src
|
|
|
|
if [ ! -e %{_bindir}/fpc ]; then
|
|
cd fpcsrc/compiler
|
|
../../bootstrap/bin/fpcmake -Tall
|
|
cd ../..
|
|
|
|
%make build NOGDB=1 FPCPROG=`pwd`/bootstrap/bin/fpc
|
|
else
|
|
|
|
cd fpcsrc/compiler
|
|
fpcmake -Tall
|
|
cd ../..
|
|
|
|
%make build NOGDB=1
|
|
fi
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
if [ ! -e %{_bindir}/fpc ]; then
|
|
%makeinstall \
|
|
INSTALL_PREFIX=%{buildroot}%{_prefix} \
|
|
INSTALL_LIBDIR=%{buildroot}%{_libdir} \
|
|
INSTALL_MANDIR=%{buildroot}%{_mandir} \
|
|
INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \
|
|
CODPATH=%{buildroot}%{_libdir}/%{name}/lexyacc \
|
|
INSTALL_DOCDIR=%{buildroot}%{_docdir}/%{name} \
|
|
INSTALL_BINDIR=%{buildroot}%{_bindir} \
|
|
INSTALL_EXAMPLEDIR=%{buildroot}%{_docdir}/%{name}/examples \
|
|
FPCPROG=`pwd`/bootstrap/bin/fpc
|
|
|
|
install -d %{buildroot}%{_sysconfdir}
|
|
sed -i "s|^FPCBIN=.*|FPCBIN=fpc|" bootstrap/lib/fpc/%{version}/samplecfg
|
|
PATH=$PWD/bootstrap/bin:$PATH \
|
|
bootstrap/lib/fpc/%{version}/samplecfg \
|
|
%{_libdir}/fpc/%{version} \
|
|
%{buildroot}%{_sysconfdir}
|
|
|
|
else
|
|
%makeinstall \
|
|
INSTALL_PREFIX=%{buildroot}%{_prefix} \
|
|
INSTALL_LIBDIR=%{buildroot}%{_libdir} \
|
|
INSTALL_MANDIR=%{buildroot}%{_mandir} \
|
|
INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \
|
|
CODPATH=%{buildroot}%{_libdir}/%{name}/lexyacc \
|
|
INSTALL_DOCDIR=%{buildroot}%{_docdir}/%{name} \
|
|
INSTALL_BINDIR=%{buildroot}%{_bindir} \
|
|
INSTALL_EXAMPLEDIR=%{buildroot}%{_docdir}/%{name}/examples
|
|
|
|
install -d %{buildroot}%{_sysconfdir}
|
|
%{buildroot}%{_libdir}/fpc/%{version}/samplecfg \
|
|
%{_libdir}/fpc/%{version} \
|
|
%{buildroot}%{_sysconfdir}
|
|
|
|
fi
|
|
|
|
%ifarch x86_64
|
|
ln -s %{_libdir}/fpc/%{version}/ppcx64 %{buildroot}%{_bindir}/ppcx64
|
|
%endif
|
|
%ifarch %{ix86}
|
|
ln -s %{_libdir}/fpc/%{version}/ppc386 %{buildroot}%{_bindir}/ppc386
|
|
%endif
|
|
%ifarch aarch64
|
|
ln -s %{_libdir}/fpc/%{version}/ppcaarch64 %{buildroot}%{_bindir}/ppcaarch64
|
|
%endif
|
|
|
|
# Strip buildroot from paths
|
|
sed -i "s|%{buildroot}||" %{buildroot}%{_sysconfdir}/fpc.cfg
|
|
|
|
# use -fPIC by default
|
|
cat >> %{buildroot}%{_sysconfdir}/fpc.cfg << _EOF
|
|
#ifdef cpux86_64
|
|
# for x86_64 use -fPIC by default
|
|
-Cg
|
|
#endif
|
|
_EOF
|
|
|
|
# Install the source-files
|
|
mkdir -p %{buildroot}%{_datadir}/fpcsrc
|
|
cp -a fpc_src/* %{buildroot}%{_datadir}/fpcsrc/
|
|
|
|
rm -rf %{buildroot}/usr/lib/%{name}/lexyacc
|
|
|
|
%find_lang %{name} || touch %{name}.lang
|
|
|
|
%clean
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%config %{_sysconfdir}/fpc.cfg
|
|
%ifnarch aarch64
|
|
%config %{_sysconfdir}/fppkg.cfg
|
|
%dir %{_sysconfdir}/fppkg
|
|
%config %{_sysconfdir}/fppkg/default
|
|
%endif
|
|
%{_bindir}/*
|
|
%{_libdir}/libpas2jslib.so
|
|
%dir %{_libdir}/fpc
|
|
%{_libdir}/fpc/*
|
|
%{_mandir}/man1/*.1*
|
|
%{_mandir}/man5/*.5*
|
|
%dir %{_docdir}/fpc-*
|
|
%{_docdir}/fpc-*/*
|
|
%dir %{_docdir}/fpc
|
|
%{_docdir}/fpc/*
|
|
%doc fpcsrc/rtl/COPYING.FPC
|
|
|
|
%files src
|
|
%defattr(-,root,root)
|
|
%dir %{_datadir}/fpcsrc
|
|
%{_datadir}/fpcsrc/*
|
|
|
|
%changelog
|
|
* Wed Nov 27 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.2-2mamba
|
|
- add fpc-src subpackage
|
|
|
|
* Thu May 27 2021 Automatic Build System <autodist@mambasoft.it> 3.2.2-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sun Jul 05 2020 Automatic Build System <autodist@mambasoft.it> 3.2.0-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sun Dec 24 2017 Automatic Build System <autodist@mambasoft.it> 3.0.4-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Mar 07 2017 Automatic Build System <autodist@mambasoft.it> 3.0.2-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Thu Dec 10 2015 Automatic Build System <autodist@mambasoft.it> 3.0.0-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sun Oct 25 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.4-1mamba
|
|
- package created using the webbuild interface
|