]> git.pld-linux.org Git - packages/fpc.git/blob - fpc.spec
- ppc version
[packages/fpc.git] / fpc.spec
1 # TODO: 
2 # - sparc/ppc version, check on x86
3 # - documentation
4 # - make it working ;)
5 Summary:        32-bit compiler for the i386 and m68k processors
6 Summary(pl):    32 bitowy kompilator dla procesorów i386 i m68k
7 Summary(ru):    ó×ÏÂÏÄÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal
8 Summary(uk):    ÷¦ÌØÎÉÊ ËÏÍЦÌÑÔÏÒ Pascal
9 Name:           fpc
10 Version:        2.0.0
11 Release:        0.1
12 License:        GPL
13 Group:          Development/Languages
14 Vendor:         Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>
15 Source0:        http://switch.dl.sourceforge.net/sourceforge/freepascal/%{name}-%{version}.source.tar.gz
16 # Source0-md5:  3f9c64d0146a3631f6963fd7477776d1
17 Source1:        http://dl.sourceforge.net/freepascal/fpc-%{version}.i386-linux.tar
18 # Source1-md5:  5f0a5fba632a811dcfdafe0ff80476a3
19 Source2:        http://dl.sourceforge.net/freepascal/fpc-%{version}.x86_64-linux.tar
20 # Source2-md5:  36270de604c6b5ad3af8aaa08143e88f
21 Source3:        http://dl.sourceforge.net/freepascal/fpc-%{version}.powerpc-linux.tar
22 # Source3-md5:  7019384e09411902e530dfe55d4ff145
23 Source4:        http://dl.sourceforge.net/freepascal/%{name}-%{version}.sparc-linux.tar
24 # Source4-md5:  dd8925ce8ce93309456c3072e6e4d14d
25 #Source2:       %{name}-sample.cfg
26 URL:            http://www.freepascal.org/
27 #BuildRequires: bin86
28 #BuildRequires: zlib-devel
29 Requires:       gcc >= 2.95.2
30 ExclusiveArch:  %{ix86} m68k amd64 ppc sparc
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %description
34 Free Pascal is a 32-bit compiler for the i386 and m68k processors.
35 Free Pascal is designed to be, as much as possible, source compatible
36 with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
37 attained), but it also enhances these languages with elements like
38 function overloading. And, unlike these ancestors, it supports
39 multiple platforms.
40
41 %description -l pl
42 Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
43 Free Pascal zosta³ zaprojektowany by byæ (jak tylko to mo¿liwe)
44 kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal równie¿
45 rozszerza te jêzyki elementami takimi jak przeci±¿anie funkcji.
46
47 %description -l ru
48 FPC -- 32-ÂÉÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ Pascal, ÓÏ×ÍÅÓÔÉÍÙÊ Ó Turbo Pascal 7.0 É Delphi.
49 ðÏÓÔÁ×ÌÑÅÔÓÑ Ó RTL (ÂÉÂÌÉÏÔÅËÏÊ ×ÒÅÍÅÎÉ ÉÓÐÏÌÎÅÎÉÑ), FCL (ÂÉÂÌÉÏÔÅËÏÊ Ó×ÏÂÏÄÎÙÈ
50 ËÏÍÐÏÎÅÎÔ), ÉÎÔÅÒÆÅÊÓÁÍÉ Ë gtk, ncurses, zlib, mysql, postgres, ibase.
51
52 %description -l uk
53 FPC -- 32-¦ÔÎÉÊ ËÏÍЦÌÑÔÏÒ Pascal, ÓÕͦÓÎÉÊ ¦Ú Turbo Pascal 7.0 ÔÁ Delphi.
54 ðÏÓÔÁÞÁ¤ÔØÓÑ ¦Ú RTL (¦Â̦ÏÔÅËÏÀ ÞÁÓÕ ×ÉËÏÎÁÎÎÑ), FCL (¦Â̦ÏÔÅËÏÀ ×¦ÌØÎÉÈ
55 ËÏÍÐÏÎÅÎÔ), ¦ÎÔÅÒÆÅÊÓÁÍÉ ÄÏ gtk, ncurses, zlib, mysql, postgres, ibase.
56
57 %package examples
58 Summary:        Free Pascal Compiler exaple programs
59 Summary(pl):    Przyk³adowe programy do kompilatora Free Pascal
60 Group:          Documentation
61 Requires:       %{name} = %{version}
62
63 %description examples
64 Free Pascal Compiler exaple programs.
65
66 %description examples -l pl
67 Przyk³adowe programy do kompilatora Free Pascal.
68
69 %package doc
70 Summary:        Free Pascal Compiler documentation
71 Summary(pl):    Dokumentacja do kompilatora Free Pascal
72 Group:          Documentation
73 Requires:       %{name} = %{version}
74
75 %description doc
76 Documentation for fpc in PDF format.
77
78 %description doc -l pl
79 Dokumentacja do fpc w formacie PDF.
80
81 %prep
82 %setup -q -n %{name}
83 %ifarch %{ix86}
84 tar xf %{SOURCE1}
85 %define _bname 386
86 %endif
87 %ifarch amd64
88 tar xf %{SOURCE2}
89 %define _bname x64
90 %endif
91 %ifarch ppc
92 tar xf %{SOURCE3}
93 %define _bname ppc
94 %endif
95
96 tar xf binary.*-linux.tar
97
98 mkdir bin
99 cd bin
100 for i in ../*.tar.gz ; do
101         tar xzf $i
102 done
103 ln -sf `pwd`/lib/%{name}/%{version}/ppc* bin
104
105 %build
106 PP=`pwd`/bin/lib/%{name}/%{version}/ppc%{_bname}
107 NEWPP=`pwd`/compiler/ppc%{_bname}
108
109 %{__make} compiler_cycle \
110         OPT="$OPTF -Xs -n" \
111         RELEASE="1" \
112         BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
113         BININSTALLDIR=%{_bindir} \
114         PP="$PP" \
115         FPC="$PP" \
116         compiler_cycle
117
118 %{__make} OPT="$OPTF -Xs -n" \
119         RELEASE="1" \
120         BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
121         BININSTALLDIR=%{_bindir} \
122         PP="$NEWPP" \
123         FPC="$NEWPP" \
124         DATA2INC=`pwd`/utils/data2inc \
125         rtl packages_base_all fcl packages_extra_all utils_all
126
127 #%{__make} -C src/%{name}-%{version}/docs pdf FPDOC=${NEWFPDOC}
128
129 %install
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
132
133 NEWPP=`pwd`/compiler/ppc%{_bname}
134 FPCMAKE=`pwd`/utils/fpcm/fpcmake
135 %{__make} \
136         compiler_install \
137         rtl_install \
138         fcl_install \
139         packages_install \
140         utils_install \
141         PP="$NEWPP" \
142         FPCMAKE="$FPCMAKE" \
143         INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
144         INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
145         INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
146         INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
147         INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
148         INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
149         CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
150
151 sh compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
152
153 #%{__make} -C src/%{name}-%{version}/docs pdfinstall DOCINSTALLDIR=$RPM_BUILD_ROOT%{_docdir}
154
155 #cp -af src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
156
157 #ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
158 #ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
159
160 #cp -af src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
161
162 #ln -sf %{_bindir}/{as,ld} $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 #%post
168 #umask 022
169 #GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
170 #GCCDIR=`dirname $GCCSPEC`
171 #echo "Found libgcc.a in $GCCDIR"
172 #sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/fpc.cfg > %{_sysconfdir}/fpc.cfg.new
173 #sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/fpc.cfg.new > %{_sysconfdir}/fpc.cfg
174 #rm -f %{_sysconfdir}/fpc.cfg.new
175
176 %files
177 %defattr(644,root,root,755)
178 %attr(755,root,root) %{_bindir}/*
179 #%doc src/%{name}-%{version}/doc/{copying*,*.txt}
180 #%doc src/%{name}-%{version}/doc/faq.html
181 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/fpc.cfg
182 %dir %{_libdir}/%{name}
183 %dir %{_libdir}/%{name}/%{version}
184 %dir %{_libdir}/%{name}/lexyacc
185 %{_libdir}/%{name}/%{version}/msg
186 %{_libdir}/%{name}/%{version}/units
187 %{_libdir}/%{name}/lexyacc/*
188 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
189 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
190 #%{_mandir}/man*/*
191
192 %files examples
193 %defattr(644,root,root,755)
194 #%{_examplesdir}/fpc
195
196 %files doc
197 %defattr(644,root,root,755)
198 #%doc src/%{name}-%{version}/docs/*.pdf
This page took 0.369074 seconds and 3 git commands to generate.