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 Vendor: Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>
9 Source0: ftp://ftp.freepascal.org/pub/fpc/dist/Linux/%{name}-%{version}.ELF.tar
10 Source1: %{name}-sample.cfg
11 Patch0: %{name}-poptasm.patch
12 Patch1: %{name}-glibc.patch
13 URL: http://www.freepascal.org/
14 Requires: gcc >= 2.95.2
16 BuildRequires: glibc-static
17 BuildRequires: zlib-devel
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 Requires: %{name} = %{version}
42 Free Pascal Compiler exaple programs.
44 %description examples -l pl
45 Przyk³adowe programy do kompilatora Free Pascal.
48 Summary: Free Pascal Compiler documentation
49 Summary(pl): Dokumentacja do kompilatora Free Pascal
51 Requires: %{name} = %{version}
54 Documentation for fpc in PDF format.
56 %description doc -l pl
57 Dokumentacja do fpc w formacie PDF.
64 for i in *.tar.gz ; do
68 mkdir -p src/%{name}-%{version}/doc
69 mv doc/%{name}-%{version}/* src/%{name}-%{version}/doc
70 mkdir -p src/%{name}-%{version}/man && echo ".PHONY: all install installman" > src/%{name}-%{version}/man/Makefile
72 cd src/%{name}-%{version}
77 if [ "%{_build_cpu}" = "m68k" ]; then
83 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
84 case "%{_build_cpu}" in
95 PP=`pwd`/lib/fpc/%{version}/ppc386
96 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
98 # -O- optimalization to workaround bug in PP compiler in 1.0.4
99 %{__make} -C src/%{name}-%{version} \
102 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
103 BININSTALLDIR=%{_bindir} \
108 %{__make} -C src/%{name}-%{version} \
111 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
112 BININSTALLDIR=%{_bindir} \
115 rtl_all api_all fcl_all packages_all utils_all
118 rm -rf $RPM_BUILD_ROOT
119 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
121 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ppc386.cfg
123 # workaround for 1.0.4
124 (cd src/fpc-%{version}; ln -s fcl/linux linux)
126 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
127 %{__make} -C src/%{name}-%{version} \
128 PREFIXINSTALLDIR=$RPM_BUILD_ROOT%{_prefix} \
131 rtl_install api_install fcl_install packages_install utils_install
133 cp -a man/* $RPM_BUILD_ROOT%{_mandir}
134 cp -a src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
136 ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
137 ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
139 mv -f src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
142 rm -rf $RPM_BUILD_ROOT
146 GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
147 GCCDIR=`dirname $GCCSPEC`
148 echo "Found libgcc.a in $GCCDIR"
149 sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/ppc386.cfg > %{_sysconfdir}/ppc386.cfg.new
150 sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/ppc386.cfg.new > %{_sysconfdir}/ppc386.cfg
151 rm -f %{_sysconfdir}/ppc386.cfg.new
154 %defattr(644,root,root,755)
155 %attr(755,root,root) %{_bindir}/*
156 %doc src/%{name}-%{version}/doc/{copying*,*.txt}
157 %doc src/%{name}-%{version}/doc/faq.html
158 %config %verify(not md5 size mtime) %{_sysconfdir}/ppc386.cfg
159 %dir %{_libdir}/%{name}
160 %dir %{_libdir}/%{name}/%{version}
161 %dir %{_libdir}/%{name}/lexyacc
162 %{_libdir}/%{name}/%{version}/msg
163 %{_libdir}/%{name}/%{version}/units
164 %{_libdir}/%{name}/lexyacc/*
165 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc386
166 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
170 %defattr(644,root,root,755)
171 %doc %{_examplesdir}/fpc
174 %defattr(644,root,root,755)
175 %doc src/%{name}-%{version}/doc/*.pdf