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 URL: http://www.freepascal.org/
28 BuildRequires: binutils-static >= 2.17.50
29 BuildRequires: ncurses-devel
30 BuildRequires: gdb-lib
31 BuildRequires: gpm-devel
32 BuildRequires: rpmbuild(macros) >= 1.213
33 BuildRequires: tetex-fonts-jknappen
34 BuildRequires: tetex-format-pdflatex
35 BuildRequires: tetex-makeindex
36 BuildRequires: tetex-metafont
37 Provides: fpc-bootstrap
39 ExclusiveArch: %{ix86} %{x8664} ppc sparc
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
44 Free Pascal is designed to be, as much as possible, source compatible
45 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
46 attained), but it also enhances these languages with elements like
47 function overloading. And, unlike these ancestors, it supports
51 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
52 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
53 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
54 rozszerza te jêzyki elementami takimi jak przeci±¿anie funkcji.
57 FPC -- 32-ÂÉÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal, ÓÏ×ÍÅÓÔÉÍÙÊ Ó Turbo Pascal 7.0 É
58 Delphi. ðÏÓÔÁ×ÌÑÅÔÓÑ Ó RTL (ÂÉÂÌÉÏÔÅËÏÊ ×ÒÅÍÅÎÉ ÉÓÐÏÌÎÅÎÉÑ), FCL
59 (ÂÉÂÌÉÏÔÅËÏÊ Ó×ÏÂÏÄÎÙÈ ËÏÍÐÏÎÅÎÔ), ÉÎÔÅÒÆÅÊÓÁÍÉ Ë gtk, ncurses, zlib,
60 mysql, postgres, ibase.
63 FPC -- 32-¦ÔÎÉÊ ËÏÍЦÌÑÔÏÒ Pascal, ÓÕͦÓÎÉÊ ¦Ú Turbo Pascal 7.0 ÔÁ
64 Delphi. ðÏÓÔÁÞÁ¤ÔØÓÑ ¦Ú RTL (¦Â̦ÏÔÅËÏÀ ÞÁÓÕ ×ÉËÏÎÁÎÎÑ), FCL
65 (¦Â̦ÏÔÅËÏÀ צÌØÎÉÈ ËÏÍÐÏÎÅÎÔ), ¦ÎÔÅÒÆÅÊÓÁÍÉ ÄÏ gtk, ncurses, zlib,
66 mysql, postgres, ibase.
69 Summary: Free Pascal Compiler source files
70 Summary(pl): Pliki ¼ród³owe kompilatora Free Pascal
73 Requires: %{name} = %{version}-%{release}
76 Free Pascal Compiler source files.
78 %description src -l pl
79 Pliki ¼ród³owe kompilatora Free Pascal.
82 Summary: Free Pascal Compiler exaple programs
83 Summary(pl): Przyk³adowe programy do kompilatora Free Pascal
85 Requires: %{name} = %{version}-%{release}
88 Free Pascal Compiler exaple programs.
90 %description examples -l pl
91 Przyk³adowe programy do kompilatora Free Pascal.
94 Summary: Free Pascal Compiler documentation
95 Summary(pl): Dokumentacja do kompilatora Free Pascal
97 Requires: %{name} = %{version}
100 Documentation for fpc in PDF format.
102 %description doc -l pl
103 Dokumentacja do fpc w formacie PDF.
106 %setup -q -n %{name}build_%{version}_exp
112 %define _bver %{version}
117 %define _bver %{version}
122 %define _bver %{version}
131 tar xf binary.*-linux.tar
135 for i in ../*.tar.gz ; do
138 ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
143 cp -af fpcsrc/* fpc-src
145 PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
146 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
147 NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
149 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
150 case "%{_build_cpu}" in
161 %{__make} -C fpcsrc compiler_cycle \
164 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
165 BININSTALLDIR=%{_bindir} \
170 %{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
172 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
173 BININSTALLDIR=%{_bindir} \
174 GDBLIBDIR=%{_libdir} \
177 DATA2INC=`pwd`/utils/data2inc \
179 rtl_clean rtl_smart \
180 packages_base_smart \
183 packages_extra_smart \
187 export save_size=10000
188 %{__make} -C fpcdocs \
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_datadir}/fpcsrc,%{_examplesdir}/fpc}
197 cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
199 NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
200 FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
201 %{__make} -C fpcsrc \
202 compiler_distinstall \
206 packages_distinstall \
212 INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
213 INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
214 INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
215 INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
216 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
217 INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
218 INSTALL_EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name} \
219 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
220 CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
222 %{__make} -C install/man installman \
223 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
225 ln -sf %{_libdir}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
227 sh fpcsrc/compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
230 rm -rf $RPM_BUILD_ROOT
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_bindir}/*
235 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
236 %dir %{_libdir}/%{name}
237 %dir %{_libdir}/%{name}/%{version}
238 %dir %{_libdir}/%{name}/lexyacc
239 %{_libdir}/%{name}/%{version}/msg
240 %{_libdir}/%{name}/%{version}/units
241 %{_libdir}/%{name}/%{version}/ide
242 %{_libdir}/%{name}/lexyacc/*
243 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
244 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
248 %defattr(644,root,root,755)
252 %defattr(644,root,root,755)
256 %defattr(644,root,root,755)