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
123 tar xf binary.*-linux.tar
127 for i in ../*.tar.gz ; do
130 ln -sf `pwd`/lib/%{name}/%{version}/ppc* bin
135 cp -af fpcsrc/* fpc-src
137 PP=`pwd`/bin/lib/%{name}/%{version}/ppc%{_bname}
138 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
139 NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
141 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
142 case "%{_build_cpu}" in
153 %{__make} -C fpcsrc compiler_cycle \
156 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
157 BININSTALLDIR=%{_bindir} \
162 %{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
164 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
165 BININSTALLDIR=%{_bindir} \
168 DATA2INC=`pwd`/utils/data2inc \
170 rtl_clean rtl_smart \
171 packages_base_smart \
174 packages_extra_smart \
178 export save_size=10000
179 %{__make} -C fpcdocs \
185 rm -rf $RPM_BUILD_ROOT
186 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_datadir}/fpcsrc,%{_examplesdir}/fpc}
188 cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
190 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
191 FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
192 %{__make} -C fpcsrc \
193 compiler_distinstall \
197 packages_distinstall \
203 INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
204 INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
205 INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
206 INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
207 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
208 INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
209 INSTALL_EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name} \
210 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
211 CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
213 %{__make} -C install/man installman \
214 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
216 ln -sf %{_libdir}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
218 sh fpcsrc/compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
221 rm -rf $RPM_BUILD_ROOT
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_bindir}/*
226 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
227 %dir %{_libdir}/%{name}
228 %dir %{_libdir}/%{name}/%{version}
229 %dir %{_libdir}/%{name}/lexyacc
230 %{_libdir}/%{name}/%{version}/msg
231 %{_libdir}/%{name}/%{version}/units
232 %{_libdir}/%{name}/%{version}/ide
233 %{_libdir}/%{name}/lexyacc/*
234 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
235 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
239 %defattr(644,root,root,755)
243 %defattr(644,root,root,755)
247 %defattr(644,root,root,755)