1 Summary: 32-bit compiler for the i386 and m68k processors
2 Summary(pl): 32 bitowy kompilator dla procesorów i386 i m68k
7 Group: Development/Languages
8 Group(de): Entwicklung/Sprachen
9 Group(pl): Programowanie/Jêzyki
10 Vendor: Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>
11 Source0: ftp://ftp.freepascal.org/pub/fpc/dist/Linux/%{name}-%{version}.ELF.tar
12 Source1: %{name}-sample.cfg
13 Patch0: %{name}-poptasm.patch
14 Patch1: %{name}-glibc.patch
15 URL: http://www.freepascal.org/
16 Requires: gcc >= 2.95.2
18 ExclusiveArch: %{ix86} m68k
19 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
23 Free Pascal is designed to be, as much as possible, source compatible
24 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
25 attained), but it also enhances these languages with elements like
26 function overloading. And, unlike these ancestors, it supports
30 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
31 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
32 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
33 rozszerza te jêzyki elementami takimi jak prze³adowywanie funkcji.
36 Summary: Free Pascal Compiler exaple programs
37 Summary(pl): Przyk³adowe programy do kompilatora Free Pascal
39 Group(de): Dokumentation
40 Group(es): Documentación
41 Group(pl): Dokumentacja
42 Requires: %{name} = %{version}
45 Free Pascal Compiler exaple programs.
47 %description -l pl examples
48 Przyk³adowe programy do kompilatora Free Pascal.
51 Summary: Free Pascal Compiler documentation
52 Summary(pl): Dokumentacja do kompilatora Free Pascal
54 Group(de): Dokumentation
55 Group(es): Documentación
56 Group(pl): Dokumentacja
57 Requires: %{name} = %{version}
60 Documentation for fpc in PDF format.
62 %description -l pl doc
63 Dokumentacja do fpc w formacie PDF.
70 for i in *.tar.gz ; do
74 mkdir -p src/%{name}-%{version}/doc
75 mv doc/%{name}-%{version}/* src/%{name}-%{version}/doc
76 mkdir -p src/%{name}-%{version}/man && echo ".PHONY: all install installman" > src/%{name}-%{version}/man/Makefile
78 cd src/%{name}-%{version}
83 if [ "%{_build_cpu}" = "m68k" ]; then
89 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
90 case "%{_build_cpu}" in
101 PP=`pwd`/lib/fpc/%{version}/ppc386
102 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
104 # -O- optimalization to workaround bug in PP compiler in 1.0.4
105 %{__make} -C src/%{name}-%{version} \
108 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
109 BININSTALLDIR=%{_bindir} \
114 %{__make} -C src/%{name}-%{version} \
117 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
118 BININSTALLDIR=%{_bindir} \
121 rtl_all api_all fcl_all packages_all utils_all
124 rm -rf $RPM_BUILD_ROOT
125 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
127 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ppc386.cfg
129 # workaround for 1.0.4
130 (cd src/fpc-%{version}; ln -s fcl/linux linux)
132 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
133 %{__make} -C src/%{name}-%{version} \
134 PREFIXINSTALLDIR=$RPM_BUILD_ROOT%{_prefix} \
137 rtl_install api_install fcl_install packages_install utils_install
139 cp -a man/* $RPM_BUILD_ROOT%{_mandir}
140 cp -a src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
142 ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
143 ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
145 gzip -9nf src/%{name}-%{version}/doc/{copying*,*.txt}
147 mv -f src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
150 rm -rf $RPM_BUILD_ROOT
154 GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
155 GCCDIR=`dirname $GCCSPEC`
156 echo "Found libgcc.a in $GCCDIR"
157 sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/ppc386.cfg > %{_sysconfdir}/ppc386.cfg.new
158 sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/ppc386.cfg.new > %{_sysconfdir}/ppc386.cfg
159 rm -f %{_sysconfdir}/ppc386.cfg.new
162 %defattr(644,root,root,755)
163 %attr(755,root,root) %{_bindir}/*
164 %doc src/%{name}-%{version}/doc/{copying*,*.txt}.gz
165 %doc src/%{name}-%{version}/doc/faq.html
166 %config %verify(not md5 size mtime) %{_sysconfdir}/ppc386.cfg
167 %dir %{_libdir}/%{name}
168 %dir %{_libdir}/%{name}/%{version}
169 %dir %{_libdir}/%{name}/lexyacc
170 %{_libdir}/%{name}/%{version}/msg
171 %{_libdir}/%{name}/%{version}/units
172 %{_libdir}/%{name}/lexyacc/*
173 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc386
174 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
178 %defattr(644,root,root,755)
179 %doc %{_examplesdir}/fpc
182 %defattr(644,root,root,755)
183 %doc src/%{name}-%{version}/doc/*.pdf