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 URL: http://www.freepascal.org/
15 Requires: gcc >= 2.95.2
17 ExclusiveArch: %{ix86} m68k
18 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
22 Free Pascal is designed to be, as much as possible, source compatible
23 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
24 attained), but it also enhances these languages with elements like
25 function overloading. And, unlike these ancestors, it supports
29 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
30 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
31 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
32 rozszerza te jêzyki elementami takimi jak prze³adowywanie funkcji.
35 Summary: Free Pascal Compiler exaple programs
36 Summary(pl): Przyk³adowe programy do kompilatora Free Pascal
38 Group(de): Dokumentation
39 Group(es): Documentación
40 Group(pl): Dokumentacja
41 Requires: %{name} = %{version}
44 Free Pascal Compiler exaple programs.
46 %description -l pl examples
47 Przyk³adowe programy do kompilatora Free Pascal.
50 Summary: Free Pascal Compiler documentation
51 Summary(pl): Dokumentacja do kompilatora Free Pascal
53 Group(de): Dokumentation
54 Group(es): Documentación
55 Group(pl): Dokumentacja
56 Requires: %{name} = %{version}
59 Documentation for fpc in PDF format.
61 %description -l pl doc
62 Dokumentacja do fpc w formacie PDF.
69 for i in *.tar.gz ; do
73 mkdir -p src/%{name}-%{version}/doc
74 mv doc/%{name}-%{version}/* src/%{name}-%{version}/doc
75 mkdir -p src/%{name}-%{version}/man && echo ".PHONY: all install installman" > src/%{name}-%{version}/man/Makefile
77 cd src/%{name}-%{version}
81 if [ "%{_build_cpu}" = "m68k" ]; then
87 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
88 case "%{_build_cpu}" in
99 PP=`pwd`/lib/fpc/%{version}/ppc386
100 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
102 # -O- optimalization to workaround bug in PP compiler in 1.0.4
103 %{__make} -C src/%{name}-%{version} \
106 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
107 BININSTALLDIR=%{_bindir} \
112 %{__make} -C src/%{name}-%{version} \
115 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
116 BININSTALLDIR=%{_bindir} \
119 rtl_all api_all fcl_all packages_all utils_all
122 rm -rf $RPM_BUILD_ROOT
123 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
125 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ppc386.cfg
127 # workaround for 1.0.4
128 (cd src/fpc-%{version}; ln -s fcl/linux linux)
130 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
131 %{__make} -C src/%{name}-%{version} \
132 PREFIXINSTALLDIR=$RPM_BUILD_ROOT%{_prefix} \
135 rtl_install api_install fcl_install packages_install utils_install
137 cp -a man/* $RPM_BUILD_ROOT%{_mandir}
138 cp -a src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
140 ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
141 ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
143 gzip -9nf src/%{name}-%{version}/doc/{copying*,*.txt}
145 mv -f src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
148 rm -rf $RPM_BUILD_ROOT
152 GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
153 GCCDIR=`dirname $GCCSPEC`
154 echo "Found libgcc.a in $GCCDIR"
155 sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/ppc386.cfg > %{_sysconfdir}/ppc386.cfg.new
156 sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/ppc386.cfg.new > %{_sysconfdir}/ppc386.cfg
157 rm -f %{_sysconfdir}/ppc386.cfg.new
160 %defattr(644,root,root,755)
161 %attr(755,root,root) %{_bindir}/*
162 %doc src/%{name}-%{version}/doc/{copying*,*.txt}.gz
163 %doc src/%{name}-%{version}/doc/faq.html
164 %config %verify(not md5 size mtime) %{_sysconfdir}/ppc386.cfg
165 %dir %{_libdir}/%{name}
166 %dir %{_libdir}/%{name}/%{version}
167 %dir %{_libdir}/%{name}/lexyacc
168 %{_libdir}/%{name}/%{version}/msg
169 %{_libdir}/%{name}/%{version}/units
170 %{_libdir}/%{name}/lexyacc/*
171 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc386
172 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
176 %defattr(644,root,root,755)
177 %doc %{_examplesdir}/fpc
180 %defattr(644,root,root,755)
181 %doc src/%{name}-%{version}/doc/*.pdf