2 # - check why it builds all static..
3 # - doesn't build on ppc/sparc :/ hgw why
4 Summary: 32-bit compiler for the i386 and m68k processors
5 Summary(pl.UTF-8): 32 bitowy kompilator dla procesorów i386 i m68k
6 Summary(ru.UTF-8): Свободный компилятор Pascal
7 Summary(uk.UTF-8): Вільний компілятор Pascal
12 Group: Development/Languages
13 Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz
14 # Source0-md5: 1ff8b80d1f5f564983bb4e1550b8b53a
15 Source1: ftp://ftp.freepascal.org/pub/fpc/dist/i386-linux-%{version}/%{name}-%{version}.i386-linux.tar
16 # Source1-md5: d826aab69c98b9efe30398ff63e4c9d9
17 Source2: ftp://ftp.freepascal.org/pub/fpc/dist/x86_64-linux-%{version}/%{name}-%{version}.x86_64-linux.tar
18 # Source2-md5: 3bbfe4c061ebd40502789eccef069d7c
19 Source3: ftp://ftp.freepascal.org/pub/fpc/dist/powerpc-linux-%{version}/%{name}-%{version}.powerpc-linux.tar
20 # Source3-md5: 6ec5302fe446d94e5aaa1e159b0d65df
21 # no 2.0.4 binary for sparc, 2.0.0 only
22 Source4: ftp://ftp.freepascal.org/pub/fpc/dist/sparc-linux-2.0.0/%{name}-2.0.0.sparc-linux.tar
23 # Source4-md5: dd8925ce8ce93309456c3072e6e4d14d
24 Patch0: %{name}-skip-dev-dot.patch
25 Patch1: %{name}-makedocs.patch
26 Patch2: %{name}-gdb65.patch
27 Patch3: %{name}-avoid-RE.patch
28 URL: http://www.freepascal.org/
29 BuildRequires: binutils-static >= 3:2.17.50
30 BuildRequires: gdb-lib
31 BuildRequires: gpm-devel
32 BuildRequires: ncurses-devel
33 BuildRequires: rpmbuild(macros) >= 1.213
34 BuildRequires: tetex-fonts-jknappen
35 BuildRequires: tetex-format-pdflatex
36 BuildRequires: tetex-makeindex
37 BuildRequires: tetex-metafont
39 Provides: fpc-bootstrap
40 ExclusiveArch: %{ix86} %{x8664} ppc sparc
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
45 Free Pascal is designed to be, as much as possible, source compatible
46 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
47 attained), but it also enhances these languages with elements like
48 function overloading. And, unlike these ancestors, it supports
51 %description -l pl.UTF-8
52 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
53 Free Pascal został zaprojektowany by być (jak tylko to możliwe)
54 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal również
55 rozszerza te języki elementami takimi jak przeciążanie funkcji.
57 %description -l ru.UTF-8
58 FPC -- 32-битный компилятор Pascal, совместимый с Turbo Pascal 7.0 и
59 Delphi. Поставляется с RTL (библиотекой времени исполнения), FCL
60 (библиотекой свободных компонент), интерфейсами к gtk, ncurses, zlib,
61 mysql, postgres, ibase.
63 %description -l uk.UTF-8
64 FPC -- 32-бітний компілятор Pascal, сумісний із Turbo Pascal 7.0 та
65 Delphi. Постачається із RTL (бібліотекою часу виконання), FCL
66 (бібліотекою вільних компонент), інтерфейсами до gtk, ncurses, zlib,
67 mysql, postgres, ibase.
70 Summary: Free Pascal Compiler source files
71 Summary(pl.UTF-8): Pliki źródłowe kompilatora Free Pascal
73 Requires: %{name} = %{version}-%{release}
77 Free Pascal Compiler source files.
79 %description src -l pl.UTF-8
80 Pliki źródłowe kompilatora Free Pascal.
83 Summary: Free Pascal Compiler exaple programs
84 Summary(pl.UTF-8): Przykładowe programy do kompilatora Free Pascal
86 Requires: %{name} = %{version}-%{release}
89 Free Pascal Compiler exaple programs.
91 %description examples -l pl.UTF-8
92 Przykładowe programy do kompilatora Free Pascal.
95 Summary: Free Pascal Compiler documentation
96 Summary(pl.UTF-8): Dokumentacja do kompilatora Free Pascal
98 Requires: %{name} = %{version}-%{release}
101 Documentation for fpc in PDF format.
103 %description doc -l pl.UTF-8
104 Dokumentacja do fpc w formacie PDF.
107 %setup -q -n %{name}build_%{version}_exp
114 %define _bver %{version}
119 %define _bver %{version}
124 %define _bver %{version}
133 tar xf binary.*-linux.tar
137 for i in ../*.tar.gz ; do
140 ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
145 cp -af fpcsrc/* fpc-src
147 PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
148 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
149 NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
151 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
152 case "%{_build_cpu}" in
163 %{__make} -C fpcsrc compiler_cycle \
166 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
167 BININSTALLDIR=%{_bindir} \
172 %{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
174 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
175 BININSTALLDIR=%{_bindir} \
176 GDBLIBDIR=%{_libdir} \
179 DATA2INC=`pwd`/utils/data2inc \
181 rtl_clean rtl_smart \
182 packages_base_smart \
185 packages_extra_smart \
189 export save_size=10000
190 %{__make} -C fpcdocs \
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_datadir}/fpcsrc,%{_examplesdir}/fpc}
199 cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
201 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
202 FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
203 %{__make} -C fpcsrc \
204 compiler_distinstall \
208 packages_distinstall \
214 INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
215 INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
216 INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
217 INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
218 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
219 INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
220 INSTALL_EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name} \
221 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
222 CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
224 %{__make} -C install/man installman \
225 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
227 ln -sf %{_libdir}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
229 sh fpcsrc/compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
232 rm -rf $RPM_BUILD_ROOT
235 %defattr(644,root,root,755)
236 %attr(755,root,root) %{_bindir}/*
237 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
238 %dir %{_libdir}/%{name}
239 %dir %{_libdir}/%{name}/%{version}
240 %dir %{_libdir}/%{name}/lexyacc
241 %{_libdir}/%{name}/%{version}/msg
242 %{_libdir}/%{name}/%{version}/units
243 %{_libdir}/%{name}/%{version}/ide
244 %{_libdir}/%{name}/lexyacc/*
245 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
246 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
250 %defattr(644,root,root,755)
254 %defattr(644,root,root,755)
258 %defattr(644,root,root,755)