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): 32 bitowy kompilator dla procesorów i386 i m68k
6 Summary(ru): ó×ÏÂÏÄÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal
7 Summary(uk): ÷¦ÌØÎÉÊ ËÏÍЦÌÑÔÏÒ 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
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.
58 FPC -- 32-ÂÉÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal, ÓÏ×ÍÅÓÔÉÍÙÊ Ó Turbo Pascal 7.0 É
59 Delphi. ðÏÓÔÁ×ÌÑÅÔÓÑ Ó RTL (ÂÉÂÌÉÏÔÅËÏÊ ×ÒÅÍÅÎÉ ÉÓÐÏÌÎÅÎÉÑ), FCL
60 (ÂÉÂÌÉÏÔÅËÏÊ Ó×ÏÂÏÄÎÙÈ ËÏÍÐÏÎÅÎÔ), ÉÎÔÅÒÆÅÊÓÁÍÉ Ë gtk, ncurses, zlib,
61 mysql, postgres, ibase.
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): Pliki ¼ród³owe kompilatora Free Pascal
73 Requires: %{name} = %{version}-%{release}
77 Free Pascal Compiler source files.
79 %description src -l pl
80 Pliki ¼ród³owe kompilatora Free Pascal.
83 Summary: Free Pascal Compiler exaple programs
84 Summary(pl): Przyk³adowe programy do kompilatora Free Pascal
86 Requires: %{name} = %{version}-%{release}
89 Free Pascal Compiler exaple programs.
91 %description examples -l pl
92 Przyk³adowe programy do kompilatora Free Pascal.
95 Summary: Free Pascal Compiler documentation
96 Summary(pl): Dokumentacja do kompilatora Free Pascal
98 Requires: %{name} = %{version}-%{release}
101 Documentation for fpc in PDF format.
103 %description doc -l pl
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)