-# TODO:
-# - repair ide build
#
# Conditional build:
-%bcond_with ide # build with ide
+%bcond_without ide # build with ide
%bcond_without doc # build without doc
Summary: 32-bit compiler for the i386 and m68k processors
Summary(ru.UTF-8): Свободный компилятор Pascal
Summary(uk.UTF-8): Вільний компілятор Pascal
Name: fpc
-Version: 2.4.4
+Version: 2.6.0
Release: 0.1
License: GPL
Group: Development/Languages
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/%{name}build-%{version}.tar.gz
-# Source0-md5: d069dfd3412bd0d26dcd1b81ac998305
+# Source0-md5: 17375e665a4e1311f85812fe2754f609
Source1: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/i386-linux/%{name}-%{version}.i386-linux.tar
-# Source1-md5: e761c4866ac4c8fcbe09f657f315ec32
+# Source1-md5: 42b8fcaba867f515446a84aa0430db91
Source2: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/x86_64-linux/%{name}-%{version}.x86_64-linux.tar
-# Source2-md5: 058e6cd765026748a2bd24c86f1ecf18
+# Source2-md5: 631d93ca49778537cd84fa3a2878883c
Source3: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/powerpc-linux/%{name}-%{version}.powerpc-linux.tar
-# Source3-md5: cea93e5da48c45da3147236cba75dc76
+# Source3-md5: e08ac5d45747d8a12589b55c7cd58ded
Patch0: %{name}-skip-dev-dot.patch
+Patch1: %{name}-link.patch
+Patch2: %{name}-gdb.patch
URL: http://www.freepascal.org/
BuildRequires: binutils-static >= 3:2.17.50
-BuildRequires: gdb-lib
BuildRequires: gpm-devel
BuildRequires: ncurses-devel
-%{?with_ide:BuildRequires: readline-static}
BuildRequires: rpmbuild(macros) >= 1.213
-%{?with_doc:BuildRequires: tetex-fonts-jknappen}
-%{?with_doc:BuildRequires: tetex-format-pdflatex}
-%{?with_doc:BuildRequires: tetex-makeindex}
-%{?with_doc:BuildRequires: tetex-metafont}
-%{?with_doc:BuildRequires: texlive-xetex}
+%if %{with ide}
+BuildRequires: gdb-lib >= 7.2-7
+BuildRequires: python-static
+BuildRequires: readline-static
+BuildRequires: zlib-static
+%endif
+%if %{with doc}
+BuildRequires: tetex-fonts-jknappen
+BuildRequires: tetex-format-pdflatex
+BuildRequires: tetex-makeindex
+BuildRequires: tetex-metafont
+BuildRequires: texlive-xetex
+%endif
Requires: binutils
Provides: fpc-bootstrap
ExclusiveArch: %{ix86} %{x8664} ppc
%prep
%setup -q -n %{name}build-%{version}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%ifarch %{ix86}
tar xf %{SOURCE1}
%define _bver %{version}
%define _bname 386
+%define _barch i386
%endif
%ifarch %{x8664}
tar xf %{SOURCE2}
%define _bver %{version}
%define _bname x64
+%define _barch x86_64
%endif
%ifarch ppc
tar xf %{SOURCE3}
%define _bver %{version}
%define _bname ppc
+%define _barch powepc
%endif
+cd %{name}-%{version}.%{_barch}-linux
tar xf binary.*-linux.tar
+cd ..
mkdir bin
cd bin
-for i in ../*.tar.gz ; do
+for i in ../%{name}-%{version}.%{_barch}-linux/*.tar.gz ; do
tar xzf $i
done
ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
+cd ..
-%build
# save for fpc-src
install -d fpc-src
cp -af fpcsrc/* fpc-src
+%build
+# use ld.bfd
+[ -d our-ld ] || install -d our-ld
+ln -sf %{_bindir}/ld.bfd our-ld/ld
+export PATH=$(pwd)/our-ld:$PATH
+
PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
%{?with_ide: ide_clean installer_clean} \
rtl_all \
packages_all \
- utils_all %{?with_ide:installer_all}
-
-# %{?with_ide:IDE=YES} \
-%if %{with ide}
-%{__make} -C fpcsrc/ide OPT="$OPTF -Xs -n" \
- RELEASE="1" \
- BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
- BININSTALLDIR=%{_bindir} \
- GDBLIBDIR=%{_libdir} \
- PP="$NEWPP" \
- FPC="$NEWPP" \
- FPDOC=$NEWFPDOC \
- DATA2INC=`pwd`/utils/data2inc \
- LINKSMART=YES \
- clean \
- default \
- gdb
-%endif
-# %{?with_ide:installer_clean} \
-# %{?with_ide:installer_all}
+ utils_all %{?with_ide:ide_all installer_all}
%if %{with doc}
export save_size=10000
%{__make} -j1 -C install/man installman \
INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
-ln -sf %{_libdir}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
+ln -sf ../%{_lib}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
+
+ln -sf %{_bindir}/ld.bfd $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/ld
sh fpcsrc/compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
%{_libdir}/%{name}/%{version}/ide
%endif
%{_libdir}/%{name}/lexyacc/*
+%attr(755,root,root) %{_libdir}/%{name}/%{version}/ld
%attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
%attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
%{_mandir}/man*/*