Summary(ru.UTF-8): Свободный компилятор Pascal
Summary(uk.UTF-8): Вільний компілятор Pascal
Name: fpc
-Version: 2.4.4
-Release: 2
-License: GPL
+Version: 2.6.2
+Release: 3
+License: GPL v2+
Group: Development/Languages
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/%{name}build-%{version}.tar.gz
-# Source0-md5: d069dfd3412bd0d26dcd1b81ac998305
+# Source0-md5: 89c7e60db6280f3d5cc006a4a9ff43a9
Source1: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/i386-linux/%{name}-%{version}.i386-linux.tar
-# Source1-md5: e761c4866ac4c8fcbe09f657f315ec32
+# Source1-md5: 3474affc41d6106c498fc5b79f883588
Source2: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/x86_64-linux/%{name}-%{version}.x86_64-linux.tar
-# Source2-md5: 058e6cd765026748a2bd24c86f1ecf18
+# Source2-md5: c32c4c8e94aed6f84b34407e7ea84ecd
Source3: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/powerpc-linux/%{name}-%{version}.powerpc-linux.tar
-# Source3-md5: cea93e5da48c45da3147236cba75dc76
+# Source3-md5: 07f891e7552aeb21908940b05c3062a3
Patch0: %{name}-skip-dev-dot.patch
Patch1: %{name}-link.patch
+Patch2: %{name}-gdb.patch
+Patch3: %{name}-r22920.patch
URL: http://www.freepascal.org/
-BuildRequires: binutils-static >= 3:2.17.50
+BuildRequires: binutils-devel >= 3:2.17.50
BuildRequires: gpm-devel
BuildRequires: ncurses-devel
BuildRequires: rpmbuild(macros) >= 1.213
%if %{with ide}
+BuildRequires: expat-devel
BuildRequires: gdb-lib >= 7.2-7
-BuildRequires: python-static
-BuildRequires: readline-static
-BuildRequires: zlib-static
+BuildRequires: python-devel
+BuildRequires: readline-devel
+BuildRequires: libselinux-devel
+BuildRequires: xz-devel
+BuildRequires: zlib-devel
%endif
%if %{with doc}
BuildRequires: tetex-fonts-jknappen
%setup -q -n %{name}build-%{version}
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p0
%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
# save for fpc-src
install -d fpc-src
cp -af fpcsrc/* fpc-src
+rm -r fpc-src/{ide,tests}
+
+%if 0%{?debug:1}
+find fpcsrc -name Makefile | xargs %{__sed} -i -e 's/-Xs//'
+%endif
%build
# use ld.bfd
esac
%{__make} -C fpcsrc compiler_cycle \
- OPT="$OPTF -Xs -n" \
+ OPT="$OPTF %{!?debug:-Xs} -n" \
RELEASE="1" \
BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
BININSTALLDIR=%{_bindir} \
FPC="$PP" \
LINKSMART=YES
-%{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
+%{__make} -C fpcsrc OPT="$OPTF %{!?debug:-Xs} -n" \
RELEASE="1" \
BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
BININSTALLDIR=%{_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}
+sh fpc-src/compiler/utils/samplecfg $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
+%{__sed} -i -e "s,$RPM_BUILD_ROOT,,g" $RPM_BUILD_ROOT%{_sysconfdir}/{*.cfg,fppkg/default}
%clean
rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/*
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fppkg.cfg
+%dir %{_sysconfdir}/fppkg
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fppkg/default
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/%{version}
%dir %{_libdir}/%{name}/lexyacc