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: zlib-devel
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 Requires: %{name} = %{version}
41 Free Pascal Compiler exaple programs.
43 %description examples -l pl
44 Przyk³adowe programy do kompilatora Free Pascal.
47 Summary: Free Pascal Compiler documentation
48 Summary(pl): Dokumentacja do kompilatora Free Pascal
50 Requires: %{name} = %{version}
53 Documentation for fpc in PDF format.
55 %description doc -l pl
56 Dokumentacja do fpc w formacie PDF.
63 for i in *.tar.gz ; do
67 mkdir -p src/%{name}-%{version}/doc
68 mv doc/%{name}-%{version}/* src/%{name}-%{version}/doc
69 mkdir -p src/%{name}-%{version}/man && echo ".PHONY: all install installman" > src/%{name}-%{version}/man/Makefile
71 cd src/%{name}-%{version}
76 if [ "%{_build_cpu}" = "m68k" ]; then
82 # DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
83 case "%{_build_cpu}" in
94 PP=`pwd`/lib/fpc/%{version}/ppc386
95 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
97 # -O- optimalization to workaround bug in PP compiler in 1.0.4
98 %{__make} -C src/%{name}-%{version} \
101 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
102 BININSTALLDIR=%{_bindir} \
107 %{__make} -C src/%{name}-%{version} \
110 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
111 BININSTALLDIR=%{_bindir} \
114 rtl_all api_all fcl_all packages_all utils_all
117 rm -rf $RPM_BUILD_ROOT
118 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
120 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ppc386.cfg
122 # workaround for 1.0.4
123 (cd src/fpc-%{version}; ln -s fcl/linux linux)
125 NEWPP=`pwd`/src/fpc-%{version}/compiler/ppc386
126 %{__make} -C src/%{name}-%{version} \
127 PREFIXINSTALLDIR=$RPM_BUILD_ROOT%{_prefix} \
130 rtl_install api_install fcl_install packages_install utils_install
132 cp -a man/* $RPM_BUILD_ROOT%{_mandir}
133 cp -a src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
135 ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
136 ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
138 gzip -9nf src/%{name}-%{version}/doc/{copying*,*.txt}
140 mv -f src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
143 rm -rf $RPM_BUILD_ROOT
147 GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
148 GCCDIR=`dirname $GCCSPEC`
149 echo "Found libgcc.a in $GCCDIR"
150 sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/ppc386.cfg > %{_sysconfdir}/ppc386.cfg.new
151 sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/ppc386.cfg.new > %{_sysconfdir}/ppc386.cfg
152 rm -f %{_sysconfdir}/ppc386.cfg.new
155 %defattr(644,root,root,755)
156 %attr(755,root,root) %{_bindir}/*
157 %doc src/%{name}-%{version}/doc/{copying*,*.txt}.gz
158 %doc src/%{name}-%{version}/doc/faq.html
159 %config %verify(not md5 size mtime) %{_sysconfdir}/ppc386.cfg
160 %dir %{_libdir}/%{name}
161 %dir %{_libdir}/%{name}/%{version}
162 %dir %{_libdir}/%{name}/lexyacc
163 %{_libdir}/%{name}/%{version}/msg
164 %{_libdir}/%{name}/%{version}/units
165 %{_libdir}/%{name}/lexyacc/*
166 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc386
167 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
171 %defattr(644,root,root,755)
172 %doc %{_examplesdir}/fpc
175 %defattr(644,root,root,755)
176 %doc src/%{name}-%{version}/doc/*.pdf