]> git.pld-linux.org Git - packages/fpc.git/blob - fpc.spec
- Free Pascal Compilator
[packages/fpc.git] / fpc.spec
1 Summary:        32-bit compiler for the i386 and m68k processors
2 Summary(pl):    32 bitowy kompilator dla procesorów i386 i m68k
3 Name:           fpc
4 Version:        0.99.12
5 Release:        1
6 Copyright:      GPL
7 Group:          Development/Languages
8 Group(pl):      Programowanie/Jêzyki
9 Vendor:         Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>
10 Source0:        ftp://gdzies.w.be/pub/fpc/%{name}-%{version}.ELF.tar.gz
11 Source1:        fpc-sample.cfg
12 URL:            http://www.freepascal.org/
13 ExclusiveArch:  %{ix86} m68k
14 Buildroot:      /tmp/%{name}-%{version}-root
15
16 %description
17 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
18 Free Pascal is designed to be, as much as possible, source compatible with
19 Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet attained),
20 but it also enhances these languages with elements like function
21 overloading. And, unlike these ancestors, it supports multiple platforms.
22
23 %description -l pl
24 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
25 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
26 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
27 rozszerza te jêzyki elementami takimi jak prze³adowywanie funkcji.
28
29 %package doc
30 Summary:        Free Pascal Compiler documentation
31 Summary(pl):    Dokumentacja do kompilatora Free Pascal
32 Group:          Documentation
33 Group(pl):      Dokumentacja
34 Requires:       %{name} = %{version}
35
36 %description doc
37 Documentation for fpc HTML format.
38
39 %description -l pl doc
40 Dokumentacja do fpc w formacie HTML.
41
42 %prep
43 %setup -q
44 mkdir sources && cd sources && tar -xzf ../sources.tar.gz \
45               && tar -xzf ../libs.tar.gz && tar -xzf ../bins.tar.gz \
46               && mkdir ../doc && cd ../doc && tar -xzf ../docs.tar.gz && cd ..
47
48 %build
49 cd sources
50 cp base/{Makefile,makefile.fpc} .
51
52 # Currently we don't have these extenstions
53 mkdir -p fcl/linux && echo ".PHONY:     all install" > fcl/linux/Makefile
54 mkdir -p gtk       && echo ".PHONY:     all install" > gtk/Makefile
55 mkdir -p api       && echo ".PHONY:     all install" > api/Makefile
56 mkdir -p fv        && echo ".PHONY:     all install" > fv/Makefile
57 mkdir -p gdbint    && echo ".PHONY:     all install" > gdbint/Makefile
58 mkdir -p ide       && echo ".PHONY:     all install" > ide/Makefile
59
60 if [ "%{_target_cpu}" = "m68k" ]; then
61         CPU=M68K
62 else
63         CPU=I386
64 fi
65 make \
66         OPT="$RPM_OPT_FLAGS" \
67         RELEASE=1 \
68         BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
69         BININSTALLDIR=%{_bindir} \
70         PP="`pwd`/ppc386" \
71         all
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75
76 install -d              $RPM_BUILD_ROOT/etc/
77 install %{SOURCE1}      $RPM_BUILD_ROOT/etc/ppc386.cfg
78
79 cd sources && make \
80         PP="`pwd`/ppc386" \
81         BASEINSTALLDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
82         BININSTALLDIR=$RPM_BUILD_ROOT%{_bindir} \
83         install
84
85 ln -sf %{_libdir}/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
86 strip $RPM_BUILD_ROOT%{_bindir}/*
87
88 %clean
89 rm -rf $RPM_BUILD_ROOT
90
91 %post
92 umask 022
93 GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
94 GCCDIR=`dirname $GCCSPEC`
95 echo "Found libgcc.a in $GCCDIR"
96 sed -e "s#\$GCCDIR#$GCCDIR#" /etc/ppc386.cfg > /etc/ppc386.cfg.new
97 sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" /etc/ppc386.cfg.new > /etc/ppc386.cfg
98 rm -f /etc/ppc386.cfg.new
99
100 %files
101 %defattr(644,root,root,755)
102 %attr(755,root,root) %{_bindir}/*
103 %config %verify(not md5 size mtime) %{_sysconfdir}/ppc386.cfg
104 %dir %{_libdir}/%{name}
105 %dir %{_libdir}/%{name}/%{version}
106 %{_libdir}/%{name}/%{version}/msg
107 %{_libdir}/%{name}/%{version}/rtl
108 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc386
109
110 %files doc
111 %defattr(644,root,root,755)
112 %doc doc/*
This page took 0.13113 seconds and 4 git commands to generate.