Summary(ru.UTF-8): Свободный компилятор Pascal
Summary(uk.UTF-8): Вільний компілятор Pascal
Name: fpc
-Version: 2.6.2
-Release: 7
+Version: 3.0.0
+Release: 5
License: GPL v2+
Group: Development/Languages
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/%{name}build-%{version}.tar.gz
-# Source0-md5: 89c7e60db6280f3d5cc006a4a9ff43a9
+# Source0-md5: bb7d17ef5c7c007466368262c0779cb7
Source1: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/i386-linux/%{name}-%{version}.i386-linux.tar
-# Source1-md5: 3474affc41d6106c498fc5b79f883588
+# Source1-md5: 41e0bcb7c11b7edf311142079ba2defa
Source2: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/x86_64-linux/%{name}-%{version}.x86_64-linux.tar
-# Source2-md5: c32c4c8e94aed6f84b34407e7ea84ecd
-Source3: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/powerpc-linux/%{name}-%{version}.powerpc-linux.tar
-# Source3-md5: 07f891e7552aeb21908940b05c3062a3
+# Source2-md5: db2ae45b0d1846e01b61ba52f03e60b2
Patch0: %{name}-skip-dev-dot.patch
Patch1: %{name}-link.patch
Patch2: %{name}-gdb.patch
-Patch3: %{name}-r22920.patch
+Patch3: fpc-r32374.patch
+Patch4: fpcdocs-r1260.patch
URL: http://www.freepascal.org/
BuildRequires: binutils-devel >= 3:2.17.50
BuildRequires: gpm-devel
BuildRequires: ncurses-devel
BuildRequires: rpmbuild(macros) >= 1.213
%if %{with ide}
+BuildRequires: babeltrace-devel
BuildRequires: expat-devel
BuildRequires: gdb-lib >= 7.2-7
+BuildRequires: guile-devel
BuildRequires: python-devel
BuildRequires: readline-devel
BuildRequires: libselinux-devel
%endif
Requires: binutils
Provides: fpc-bootstrap
-ExclusiveArch: %{ix86} %{x8664} ppc
+ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%patch1 -p1
%patch2 -p1
%patch3 -p0
+%patch4 -p0
%ifarch %{ix86}
tar xf %{SOURCE1}
%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
ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
cd ..
+find fpcsrc -name Makefile -o -name fpcmake.ini -o -name fpmkunit.pp | \
+ xargs %{__sed} -i -e 's|/usr/lib/|%{_libdir}/|g'
+
# save for fpc-src
install -d fpc-src
cp -af fpcsrc/* fpc-src
PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
-NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
+NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/bin/%{_barch}-linux/fpdoc
+DATA2INC=`pwd`/fpcsrc/utils/bin/%{_barch}-linux/data2inc
# DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
case "%{_build_cpu}" in
RELEASE="1" \
BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
BININSTALLDIR=%{_bindir} \
+ DATA2INC="$DATA2INC" \
PP="$PP" \
FPC="$PP" \
LINKSMART=YES
BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
BININSTALLDIR=%{_bindir} \
GDBLIBDIR=%{_libdir} \
+ DATA2INC="$DATA2INC" \
PP="$NEWPP" \
FPC="$NEWPP" \
FPDOC=$NEWFPDOC \
- DATA2INC=`pwd`/utils/data2inc \
LINKSMART=YES \
NODOCS=YES \
rtl_clean \
cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
-FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
+FPCMAKE=`pwd`/fpcsrc/utils/fpcm/bin/%{_barch}-linux/fpcmake
%{__make} -j1 -C fpcsrc \
compiler_distinstall \
rtl_distinstall \
PP="$NEWPP" \
FPCMAKE="$FPCMAKE" \
SMARTLINK=YES \
+ FPCDIR=%{_libdir}/%{name}/%{version} \
INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
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}
+%if "%{_lib}" != "lib"
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/lexyacc $RPM_BUILD_ROOT%{_libdir}/%{name}
+%endif
+
+# Fix examples, make seems to ignore INSTALL_EXAMPLEDIR
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/* $RPM_BUILD_ROOT%{_examplesdir}/fpc/
+
%clean
rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/%{name}/lexyacc
%{_libdir}/%{name}/%{version}/msg
%{_libdir}/%{name}/%{version}/units
+%{_libdir}/%{name}/%{version}/fpmkinst
%if %{with ide}
%{_libdir}/%{name}/%{version}/ide
%endif