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 URL: http://www.freepascal.org/
27 BuildRequires: ncurses-devel
28 BuildRequires: gpm-devel
29 BuildRequires: rpmbuild(macros) >= 1.213
30 BuildRequires: tetex-fonts-jknappen
31 BuildRequires: tetex-format-pdflatex
32 BuildRequires: tetex-makeindex
33 BuildRequires: tetex-metafont
34 Provides: fpc-bootstrap
36 ExclusiveArch: %{ix86} %{x8664} ppc sparc
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
41 Free Pascal is designed to be, as much as possible, source compatible
42 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
43 attained), but it also enhances these languages with elements like
44 function overloading. And, unlike these ancestors, it supports
48 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
49 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
50 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
51 rozszerza te jêzyki elementami takimi jak przeci±¿anie funkcji.
54 FPC -- 32-ÂÉÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal, ÓÏ×ÍÅÓÔÉÍÙÊ Ó Turbo Pascal 7.0 É
55 Delphi. ðÏÓÔÁ×ÌÑÅÔÓÑ Ó RTL (ÂÉÂÌÉÏÔÅËÏÊ ×ÒÅÍÅÎÉ ÉÓÐÏÌÎÅÎÉÑ), FCL
56 (ÂÉÂÌÉÏÔÅËÏÊ Ó×ÏÂÏÄÎÙÈ ËÏÍÐÏÎÅÎÔ), ÉÎÔÅÒÆÅÊÓÁÍÉ Ë gtk, ncurses, zlib,
57 mysql, postgres, ibase.
60 FPC -- 32-¦ÔÎÉÊ ËÏÍЦÌÑÔÏÒ Pascal, ÓÕͦÓÎÉÊ ¦Ú Turbo Pascal 7.0 ÔÁ
61 Delphi. ðÏÓÔÁÞÁ¤ÔØÓÑ ¦Ú RTL (¦Â̦ÏÔÅËÏÀ ÞÁÓÕ ×ÉËÏÎÁÎÎÑ), FCL
62 (¦Â̦ÏÔÅËÏÀ צÌØÎÉÈ ËÏÍÐÏÎÅÎÔ), ¦ÎÔÅÒÆÅÊÓÁÍÉ ÄÏ gtk, ncurses, zlib,
63 mysql, postgres, ibase.
66 Summary: Free Pascal Compiler source files
67 Summary(pl): Pliki ¼ród³owe kompilatora Free Pascal
70 Requires: %{name} = %{version}-%{release}
73 Free Pascal Compiler source files.
75 %description src -l pl
76 Pliki ¼ród³owe kompilatora Free Pascal.
79 Summary: Free Pascal Compiler exaple programs
80 Summary(pl): Przyk³adowe programy do kompilatora Free Pascal
82 Requires: %{name} = %{version}-%{release}
85 Free Pascal Compiler exaple programs.
87 %description examples -l pl
88 Przyk³adowe programy do kompilatora Free Pascal.
91 Summary: Free Pascal Compiler documentation
92 Summary(pl): Dokumentacja do kompilatora Free Pascal
94 Requires: %{name} = %{version}
97 Documentation for fpc in PDF format.
99 %description doc -l pl
100 Dokumentacja do fpc w formacie PDF.
103 %setup -q -n %{name}build_%{version}_exp
108 %define _bver %{version}
113 %define _bver %{version}
118 %define _bver %{version}
127 tar xf binary.*-linux.tar
131 for i in ../*.tar.gz ; do
134 ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
139 cp -af fpcsrc/* fpc-src
141 PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
142 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
143 NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
145 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
146 case "%{_build_cpu}" in
157 %{__make} -C fpcsrc compiler_cycle \
160 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
161 BININSTALLDIR=%{_bindir} \
166 %{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
168 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
169 BININSTALLDIR=%{_bindir} \
172 DATA2INC=`pwd`/utils/data2inc \
174 rtl_clean rtl_smart \
175 packages_base_smart \
178 packages_extra_smart \
182 export save_size=10000
183 %{__make} -C fpcdocs \
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_datadir}/fpcsrc,%{_examplesdir}/fpc}
192 cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
194 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
195 FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
196 %{__make} -C fpcsrc \
197 compiler_distinstall \
201 packages_distinstall \
207 INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
208 INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
209 INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
210 INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
211 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
212 INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
213 INSTALL_EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name} \
214 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
215 CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
217 %{__make} -C install/man installman \
218 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
220 ln -sf %{_libdir}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
222 sh fpcsrc/compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
225 rm -rf $RPM_BUILD_ROOT
228 %defattr(644,root,root,755)
229 %attr(755,root,root) %{_bindir}/*
230 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
231 %dir %{_libdir}/%{name}
232 %dir %{_libdir}/%{name}/%{version}
233 %dir %{_libdir}/%{name}/lexyacc
234 %{_libdir}/%{name}/%{version}/msg
235 %{_libdir}/%{name}/%{version}/units
236 %{_libdir}/%{name}/%{version}/ide
237 %{_libdir}/%{name}/lexyacc/*
238 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
239 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
243 %defattr(644,root,root,755)
247 %defattr(644,root,root,755)
251 %defattr(644,root,root,755)