]> git.pld-linux.org Git - packages/fpc.git/blob - fpc.spec
d30357574f8ac817664c1d1d9c1aa8bacc911f88
[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 %ifarch sparc
96 tar xf %{SOURCE4}
97 %define _bname sparc
98 %endif
99
100 tar xf binary.*-linux.tar
101
102 mkdir bin
103 cd bin
104 for i in ../*.tar.gz ; do
105         tar xzf $i
106 done
107 ln -sf `pwd`/lib/%{name}/%{version}/ppc* bin
108
109 %build
110 PP=`pwd`/bin/lib/%{name}/%{version}/ppc%{_bname}
111 NEWPP=`pwd`/compiler/ppc%{_bname}
112
113 %{__make} compiler_cycle \
114         OPT="$OPTF -Xs -n" \
115         RELEASE="1" \
116         BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
117         BININSTALLDIR=%{_bindir} \
118         PP="$PP" \
119         FPC="$PP" \
120         compiler_cycle
121
122 %{__make} OPT="$OPTF -Xs -n" \
123         RELEASE="1" \
124         BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
125         BININSTALLDIR=%{_bindir} \
126         PP="$NEWPP" \
127         FPC="$NEWPP" \
128         DATA2INC=`pwd`/utils/data2inc \
129         rtl packages_base_all fcl packages_extra_all utils_all
130
131 #%{__make} -C src/%{name}-%{version}/docs pdf FPDOC=${NEWFPDOC}
132
133 %install
134 rm -rf $RPM_BUILD_ROOT
135 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_examplesdir}/fpc}
136
137 NEWPP=`pwd`/compiler/ppc%{_bname}
138 FPCMAKE=`pwd`/utils/fpcm/fpcmake
139 %{__make} \
140         compiler_install \
141         rtl_install \
142         fcl_install \
143         packages_install \
144         utils_install \
145         PP="$NEWPP" \
146         FPCMAKE="$FPCMAKE" \
147         INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
148         INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
149         INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
150         INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
151         INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
152         INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
153         CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
154
155 sh compiler/utils/samplecfg %{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
156
157 #%{__make} -C src/%{name}-%{version}/docs pdfinstall DOCINSTALLDIR=$RPM_BUILD_ROOT%{_docdir}
158
159 #cp -af src/%{name}-%{version}/doc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/fpc
160
161 #ln -sf ../lib/%{name}/%{version}/ppc386 $RPM_BUILD_ROOT%{_bindir}/ppc386
162 #ln -sf ppc386 $RPM_BUILD_ROOT%{_bindir}/fpc
163
164 #cp -af src/%{name}-%{version}/doc/faq.htm src/%{name}-%{version}/doc/faq.html
165
166 #ln -sf %{_bindir}/{as,ld} $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}
167
168 %clean
169 rm -rf $RPM_BUILD_ROOT
170
171 #%post
172 #umask 022
173 #GCCSPEC=`(gcc -v 2>&1)| head -n 1| awk '{ print $4 } '`
174 #GCCDIR=`dirname $GCCSPEC`
175 #echo "Found libgcc.a in $GCCDIR"
176 #sed -e "s#\$GCCDIR#$GCCDIR#" %{_sysconfdir}/fpc.cfg > %{_sysconfdir}/fpc.cfg.new
177 #sed -e "s#\$1#%{_libdir}/%{name}/%{version}#" %{_sysconfdir}/fpc.cfg.new > %{_sysconfdir}/fpc.cfg
178 #rm -f %{_sysconfdir}/fpc.cfg.new
179
180 %files
181 %defattr(644,root,root,755)
182 %attr(755,root,root) %{_bindir}/*
183 #%doc src/%{name}-%{version}/doc/{copying*,*.txt}
184 #%doc src/%{name}-%{version}/doc/faq.html
185 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/fpc.cfg
186 %dir %{_libdir}/%{name}
187 %dir %{_libdir}/%{name}/%{version}
188 %dir %{_libdir}/%{name}/lexyacc
189 %{_libdir}/%{name}/%{version}/msg
190 %{_libdir}/%{name}/%{version}/units
191 %{_libdir}/%{name}/lexyacc/*
192 %attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
193 %attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
194 #%{_mandir}/man*/*
195
196 %files examples
197 %defattr(644,root,root,755)
198 #%{_examplesdir}/fpc
199
200 %files doc
201 %defattr(644,root,root,755)
202 #%doc src/%{name}-%{version}/docs/*.pdf
This page took 0.041065 seconds and 2 git commands to generate.