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